From 566e7986291e73051d30ee252b0ebf852b1577a7 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 02 Apr 2024 14:25:51 +0800
Subject: [PATCH] 娱乐场所标签新增180200
---
src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 95 insertions(+), 14 deletions(-)
diff --git a/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java b/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
index baaebc7..3c3e1ef 100644
--- a/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
+++ b/src/main/java/org/springblade/modules/grid/service/impl/GridmanServiceImpl.java
@@ -33,7 +33,11 @@
import org.springblade.modules.grid.service.IGridService;
import org.springblade.modules.grid.service.IGridmanService;
import org.springblade.modules.grid.vo.GridmanVO;
+import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.system.entity.Region;
import org.springblade.modules.system.entity.User;
+import org.springblade.modules.system.service.IDeptService;
+import org.springblade.modules.system.service.IRegionService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -76,8 +80,13 @@
@Transactional(rollbackFor = Exception.class)
public boolean saveOrUpdateGridman(GridmanEntity gridman) {
boolean flag = false;
+ // 查询网格id
+ IGridService bean = SpringUtil.getBean(IGridService.class);
+ GridEntity gridEntity = bean.getOne(Wrappers.<GridEntity>lambdaQuery().eq(GridEntity::getGridCode, gridman.getGridCode()));
// 修改
if (null != gridman.getId()) {
+ // 更新网格id
+ gridman.setGridId(gridEntity.getId());
// 更新网格员信息
flag = updateById(gridman);
} else {
@@ -87,9 +96,6 @@
wrapper.eq("is_deleted", 0).eq("account", gridman.getMobile());
List<User> list = userService.list(wrapper);
// 更新用户,查询是否需要更新角色
- // 查询网格id
- IGridService bean = SpringUtil.getBean(IGridService.class);
- GridEntity gridEntity = bean.getOne(Wrappers.<GridEntity>lambdaQuery().eq(GridEntity::getGridCode, gridman.getGridCode()));
gridman.setGridId(gridEntity.getId());
if (list.size() > 0) {
// 默认取出第一个
@@ -167,22 +173,97 @@
public void importGridman(List<GridmanExcel> data, Boolean isCovered) {
// 遍历
for (GridmanExcel gridmanExcel : data) {
- GridmanEntity gridmanEntity = Objects.requireNonNull(BeanUtil.copy(gridmanExcel, GridmanEntity.class));
- // 通过社区名称和网格名称获取网格id
- QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("is_deleted", 0)
- .eq("grid_code", gridmanExcel.getGridCode());
- GridEntity gridEntity = gridService.getOne(queryWrapper);
- // 设置网格id
- gridmanEntity.setGridId(gridEntity.getId());
- // 插入网格员
- if (!Strings.isBlank(gridmanExcel.getMobile())) {
- saveOrUpdateGridman(gridmanEntity);
+ // 先查询是否有对应的用户
+ List<User> userList = userService.getUserListByPhoneOrAccount(gridmanExcel.getMobile());
+ if (userList.size()>0){
+ User user = userList.get(0);
+ // 判断角色是否包好网格员的角色,如果没有则加入网格员的角色,有则不更改
+ if (!user.getRoleId().contains("1717429261910528001")) {
+ // 更新角色
+ user.setRoleId(user.getRoleId() + "," + "1717429261910528001");
+ // 更新机构
+ setDeptId(gridmanExcel,user);
+ // 更新用户信息
+ userService.updateById(user);
+ // 更新网格员绑定
+ updateGridmanBind(gridmanExcel,user);
+ }
+ }else {
+ // 创建用户
+ User user = new User();
+ user.setTenantId("000000");
+ user.setUserType(1);
+ user.setRoleId("1717429261910528001");
+ user.setName(gridmanExcel.getGridmanName());
+ user.setRealName(gridmanExcel.getGridmanName());
+ user.setPhone(gridmanExcel.getMobile());
+ user.setAccount(gridmanExcel.getMobile());
+ // 更新机构
+ setDeptId(gridmanExcel,user);
+ // 设置默认密码
+ user.setPassword("123456");
+ // 保存
+ userService.submit(user);
+ // 更新网格员绑定
+ updateGridmanBind(gridmanExcel,user);
}
+
}
}
/**
+ * 更新网格员绑定
+ * @param gridmanExcel
+ * @param user
+ */
+ public void updateGridmanBind(GridmanExcel gridmanExcel, User user) {
+ // 保存更新网格员信息
+ GridmanEntity gridmanEntity = Objects.requireNonNull(BeanUtil.copy(gridmanExcel, GridmanEntity.class));
+ // 通过社区名称和网格名称获取网格id
+ QueryWrapper<GridEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_deleted", 0)
+ .eq("grid_code", gridmanExcel.getGridCode());
+ GridEntity gridEntity = gridService.getOne(queryWrapper);
+ // 设置网格id
+ gridmanEntity.setGridId(gridEntity.getId());
+ gridmanEntity.setUserId(user.getId());
+ // 插入网格员
+ // 判断是否已存,已存在则更新,否则插入
+ QueryWrapper<GridmanEntity> wrapper = new QueryWrapper<>();
+ wrapper.eq("is_deleted",0).eq("user_id",user.getId()).eq("grid_code",gridmanExcel.getGridCode());
+ GridmanEntity entity = getOne(wrapper);
+ if (null!=entity){
+ gridmanEntity.setId(entity.getId());
+ updateById(gridmanEntity);
+ }else {
+ save(gridmanEntity);
+ }
+ }
+
+ /**
+ * 更新机构
+ * @param gridmanExcel
+ * @param user
+ */
+ public void setDeptId(GridmanExcel gridmanExcel, User user) {
+ // 通过社区编号查询对应的机构id
+ Region region = SpringUtil.getBean(IRegionService.class).getById(gridmanExcel.getCommunityCode());
+ // 查询社区对应的机构
+ QueryWrapper<Dept> wrapper = new QueryWrapper<>();
+ wrapper.eq("is_deleted",0).eq("dept_name",region.getName());
+ Dept dept = SpringUtil.getBean(IDeptService.class).getOne(wrapper);
+ // 查询网格对应的机构
+ QueryWrapper<Dept> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("is_deleted",0).
+ eq("parent_id",dept.getId()).
+ eq("dept_name",gridmanExcel.getGridName());
+ System.out.println("网格名称 = " + gridmanExcel.getGridName());
+ Dept deptGrid = SpringUtil.getBean(IDeptService.class).getOne(queryWrapper);
+ // 设置机构
+ user.setDeptId(deptGrid.getId().toString());
+ }
+
+ /**
* 网格员查询
*
* @param gridman
--
Gitblit v1.9.3