| src/main/java/org/springblade/modules/system/controller/DeptController.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/controller/UserController.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/excel/PoliceUserExcel.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/excel/PoliceUserImporter.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/service/IDeptService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/service/IUserService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java | ●●●●● patch | view | raw | blame | history |
src/main/java/org/springblade/modules/system/controller/DeptController.java
@@ -198,6 +198,14 @@ return R.data(deptService.dataHandle()); } /** * 数据处理(社区绑定)-- 处理社区 */ @GetMapping("/dataHandleCommunity") public R dataHandleCommunity() { return R.data(deptService.dataHandleCommunity()); } /** * 数据处理(区域网格编号绑定) src/main/java/org/springblade/modules/system/controller/UserController.java
@@ -45,6 +45,8 @@ import org.springblade.core.tool.utils.StringPool; import org.springblade.core.tool.utils.StringUtil; import org.springblade.modules.system.entity.User; import org.springblade.modules.system.excel.PoliceUserExcel; import org.springblade.modules.system.excel.PoliceUserImporter; import org.springblade.modules.system.excel.UserExcel; import org.springblade.modules.system.excel.UserImporter; import org.springblade.modules.system.service.IUserService; @@ -431,4 +433,15 @@ return R.data(userService.handleUser()); } /** * 民警数据导入 */ @PostMapping("/policemanDataHandle") public R policemanDataHandle(MultipartFile file) { PoliceUserImporter policeUserImporter = new PoliceUserImporter(userService); ExcelUtil.save(file, policeUserImporter, PoliceUserExcel.class); return R.success("操作成功"); } } src/main/java/org/springblade/modules/system/excel/PoliceUserExcel.java
New file @@ -0,0 +1,39 @@ package org.springblade.modules.system.excel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import lombok.Data; import java.io.Serializable; /** * UserExcel * * @author Chill */ @Data @ColumnWidth(25) @HeadRowHeight(20) @ContentRowHeight(18) public class PoliceUserExcel implements Serializable { private static final long serialVersionUID = 1L; @ColumnWidth(10) @ExcelProperty("姓名") private String realName; @ColumnWidth(15) @ExcelProperty("手机") private String phone; @ColumnWidth(15) @ExcelProperty("社区代码") private String communityCode; @ColumnWidth(15) @ExcelProperty("派出所名称") private String policeStationName; } src/main/java/org/springblade/modules/system/excel/PoliceUserImporter.java
New file @@ -0,0 +1,23 @@ package org.springblade.modules.system.excel; import lombok.RequiredArgsConstructor; import org.springblade.core.excel.support.ExcelImporter; import org.springblade.modules.system.service.IUserService; import java.util.List; /** * 民警用户数据导入类 * * @author Chill */ @RequiredArgsConstructor public class PoliceUserImporter implements ExcelImporter<PoliceUserExcel> { private final IUserService service; @Override public void save(List<PoliceUserExcel> data) { service.importPoliceUser(data); } } src/main/java/org/springblade/modules/system/service/IDeptService.java
@@ -132,4 +132,9 @@ * 数据处理(区域网格编号绑定) */ Object dataRegionGridCodeBindHandle(); /** * 数据处理(社区绑定)-- 处理社区 */ Object dataHandleCommunity(); } src/main/java/org/springblade/modules/system/service/IUserService.java
@@ -26,6 +26,7 @@ import org.springblade.modules.system.entity.User; import org.springblade.modules.system.entity.UserInfo; import org.springblade.modules.system.entity.UserOauth; import org.springblade.modules.system.excel.PoliceUserExcel; import org.springblade.modules.system.excel.UserExcel; import org.springblade.modules.system.vo.UserDetailVO; import org.springblade.modules.system.vo.UserVO; @@ -256,4 +257,10 @@ List<User> getUserInfoByPropertyId(String propertyCompanyId,String roleId); Object handleUser(); /** * 导入民警信息 * @param data */ void importPoliceUser(List<PoliceUserExcel> data); } src/main/java/org/springblade/modules/system/service/impl/DeptServiceImpl.java
@@ -29,12 +29,16 @@ import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.SpringUtil; import org.springblade.core.tool.utils.StringPool; import org.springblade.modules.community.entity.CommunityEntity; import org.springblade.modules.community.service.ICommunityService; import org.springblade.modules.grid.entity.GridEntity; import org.springblade.modules.grid.service.IGridService; import org.springblade.modules.property.entity.PropertyCompanyEntity; import org.springblade.modules.property.service.IPropertyCompanyService; import org.springblade.modules.system.entity.Dept; import org.springblade.modules.system.entity.Region; import org.springblade.modules.system.mapper.DeptMapper; import org.springblade.modules.system.service.IDeptService; import org.springblade.modules.system.service.IRegionService; @@ -312,24 +316,65 @@ @Override @Transactional(rollbackFor = Exception.class) public Object dataHandle() { // 查询未绑定的网格 List<TreeStringNode> list = regionService.getTree(null); // 查询所有的社区 QueryWrapper<Region> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("district_code","361102").eq("region_level",5); List<Region> list = regionService.list(queryWrapper); // 遍历 for (TreeStringNode treeStringNode : list) { for (Region region : list) { // 查询是否已创建 QueryWrapper<Dept> wrapper = new QueryWrapper<>(); wrapper.eq("is_deleted", 0).eq("dept_name", treeStringNode.getName()); wrapper.eq("is_deleted", 0).eq("dept_name", region.getName()); Dept one = getOne(wrapper); if (null == one) { // 新增 Dept dept = new Dept(); dept.setParentId(1733066387113734145L); dept.setFullName(treeStringNode.getName()); dept.setDeptName(treeStringNode.getName()); dept.setFullName(region.getName()); dept.setDeptName(region.getName()); dept.setDeptCategory(1); dept.setTenantId("000000"); // 查询上级id QueryWrapper<Dept> deptQueryWrapper = new QueryWrapper<>(); deptQueryWrapper.eq("is_deleted", 0).eq("dept_name", region.getTownName()); Dept parentDept = getOne(deptQueryWrapper); if (null!=parentDept){ dept.setParentId(parentDept.getId()); dept.setAncestors(parentDept.getAncestors() + "," + parentDept.getId()); } dept.setRegionCode(region.getCode()); // 新增 save(dept); saveOrUpdate(dept); // 插入社区表数据 } } return null; } /** * 数据处理(社区绑定)--处理机构 */ @Override @Transactional(rollbackFor = Exception.class) public Object dataHandleCommunity() { // 查询所有的社区 QueryWrapper<Region> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("district_code","361102").eq("region_level",5); List<Region> list = regionService.list(queryWrapper); // 遍历 for (Region region : list) { // 查询是否已创建 QueryWrapper<CommunityEntity> wrapper = new QueryWrapper<>(); wrapper.eq("is_deleted", 0).eq("name", region.getName()); CommunityEntity one = SpringUtil.getBean(ICommunityService.class).getOne(wrapper); if (null == one) { // 新增 CommunityEntity communityEntity = new CommunityEntity(); communityEntity.setStreetCode(region.getTownCode()); communityEntity.setName(region.getName()); communityEntity.setCode(region.getCode()); // 新增 SpringUtil.getBean(ICommunityService.class).save(communityEntity); } } return null; src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; @@ -42,6 +43,8 @@ import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.*; import org.springblade.modules.auth.enums.UserEnum; import org.springblade.modules.community.entity.CommunityEntity; import org.springblade.modules.community.service.ICommunityService; import org.springblade.modules.grid.service.IGridmanService; import org.springblade.modules.house.entity.HouseholdEntity; import org.springblade.modules.house.service.IHouseholdService; @@ -49,12 +52,10 @@ import org.springblade.modules.property.service.IPropertyCompanyDistrictService; import org.springblade.modules.property.service.IPropertyCompanyService; import org.springblade.modules.system.entity.*; import org.springblade.modules.system.excel.PoliceUserExcel; import org.springblade.modules.system.excel.UserExcel; import org.springblade.modules.system.mapper.UserMapper; import org.springblade.modules.system.service.IRoleService; import org.springblade.modules.system.service.IUserDeptService; import org.springblade.modules.system.service.IUserOauthService; import org.springblade.modules.system.service.IUserService; import org.springblade.modules.system.service.*; import org.springblade.modules.system.vo.UserDetailVO; import org.springblade.modules.system.vo.UserVO; import org.springblade.modules.system.wrapper.UserWrapper; @@ -561,4 +562,76 @@ } return null; } /** * 导入民警信息 * @param data */ @Override @Transactional(rollbackFor = Exception.class) public void importPoliceUser(List<PoliceUserExcel> data) { for (PoliceUserExcel userExcel : data) { // 查询用户 List<User> list = getUserListByPhoneOrAccount(userExcel.getPhone()); if (list.size()>0){ User userInfo = list.get(0); // 判断角色 if (!userInfo.getRoleId().contains("1727864411451359233")){ userInfo.setRoleId(userInfo.getRoleId() + ",1727864411451359233"); // 更新 updateById(userInfo); // 更新社区民警绑定信息 updateCommunityInfo(userExcel,userInfo); } }else { // 插入用户角色 User user = new User(); user.setTenantId("000000"); user.setUserType(1); user.setRoleId("1727864411451359233"); user.setName(userExcel.getRealName()); user.setRealName(userExcel.getRealName()); user.setPhone(userExcel.getPhone()); user.setAccount(userExcel.getPhone()); // 查询机构 QueryWrapper<Dept> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("is_deleted",0).eq("dept_name",userExcel.getPoliceStationName()); Dept dept = SpringUtil.getBean(IDeptService.class).getOne(queryWrapper); if (null!=dept){ user.setDeptId(dept.getId().toString()); } user.setPassword("123456"); // 保存 submit(user); // 更新社区民警绑定信息 updateCommunityInfo(userExcel,user); } } } /** * 更新社区民警绑定信息 * @param userExcel * @param user */ public void updateCommunityInfo(PoliceUserExcel userExcel, User user) { QueryWrapper<CommunityEntity> wrapper = new QueryWrapper<>(); System.out.println("wrapper = " + userExcel.getCommunityCode()); wrapper.eq("is_deleted",0).eq("code",userExcel.getCommunityCode()); CommunityEntity one = SpringUtil.getBean(ICommunityService.class).getOne(wrapper); if (null!=one){ String userId = user.getId().toString(); if (!Strings.isBlank(one.getResPoliceUserId())){ if(!one.getResPoliceUserId().contains(userId)) { one.setResPoliceUserId(one.getResPoliceUserId() + "," + userId); // 更新 SpringUtil.getBean(ICommunityService.class).updateById(one); } }else { one.setResPoliceUserId(userId); // 更新 SpringUtil.getBean(ICommunityService.class).updateById(one); } } } }