From b0402b407292f0708a1684cc0ca1d5e2d890b753 Mon Sep 17 00:00:00 2001 From: ZQN <364596817@qq.com> Date: 星期一, 24 六月 2024 15:12:39 +0800 Subject: [PATCH] 多机构管理,问题修改 --- project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 97 insertions(+), 3 deletions(-) diff --git a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java index b002089..dfc53ff 100644 --- a/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java +++ b/project-system/src/main/java/com/project/system/service/impl/SysUserServiceImpl.java @@ -4,18 +4,23 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.project.common.annotation.DataScope; import com.project.common.constant.UserConstants; +import com.project.common.core.domain.entity.SysDept; import com.project.common.core.domain.entity.SysRole; import com.project.common.core.domain.entity.SysUser; +import com.project.common.core.domain.model.ImportError; import com.project.common.exception.ServiceException; +import com.project.common.exception.base.BaseException; import com.project.common.utils.SecurityUtils; import com.project.common.utils.StringUtils; import com.project.common.utils.bean.BeanValidators; import com.project.common.utils.spring.SpringUtils; -import com.project.system.domain.SysPost; -import com.project.system.domain.SysUserPost; -import com.project.system.domain.SysUserRole; +import com.project.system.domain.*; +import com.project.system.domain.vo.SysUserResultVo; +import com.project.system.domain.vo.SysUserVo; import com.project.system.mapper.*; import com.project.system.service.ISysConfigService; +import com.project.system.service.ISysDeptService; +import com.project.system.service.ISysUserDeptService; import com.project.system.service.ISysUserService; import lombok.RequiredArgsConstructor; import org.slf4j.Logger; @@ -47,6 +52,8 @@ private final SysUserRoleMapper userRoleMapper; private final SysUserPostMapper userPostMapper; private final ISysConfigService configService; + private final ISysUserDeptService userDeptService; + private final ISysDeptService deptService; protected final Validator validator; /** @@ -250,6 +257,10 @@ insertUserPost(user); // 鏂板鐢ㄦ埛涓庤鑹茬鐞� insertUserRole(user); + // 鏂板鐢ㄦ埛涓庨儴闂ㄧ鐞� + if (!"02".equals(user.getUserType())){ + insertUserDept(user); + } return rows; } @@ -285,6 +296,10 @@ // 鏂板鐢ㄦ埛涓庡矖浣嶇鐞� insertUserPost(user); + // 鏂板鐢ㄦ埛涓庨儴闂ㄧ鐞� + if (!"02".equals(user.getUserType())){ + insertUserDept(user); + } return userMapper.updateUser(user); } @@ -372,6 +387,21 @@ public void insertUserRole(SysUser user) { this.insertUserRole(user.getUserId(), user.getRoleIds()); + } + + /** + * 鏂板鐢ㄦ埛閮ㄩ棬 + * + * @param user 鐢ㄦ埛瀵硅薄 + */ + public void insertUserDept(SysUser user) + { + userDeptService.remove(userDeptService.lq() + .eq(SysUserDept::getUserId, user.getUserId()) + .eq(SysUserDept::getDeptId, user.getDeptId()) + ); + SysUserDept userDept = new SysUserDept().setUserId(user.getUserId()).setDeptId(user.getDeptId()); + userDeptService.save(userDept); } /** @@ -556,4 +586,68 @@ public int resetPhone(Long userId, String phone) { return userMapper.resetPhone(userId, phone); } + + @Override + public SysUserResultVo doImport(List<SysUserVo> list, Long deptId) + { + if (list==null || list.size()<1){ + throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅锛�"); + } + + SysUserResultVo resultVo = new SysUserResultVo(); + list.forEach(sysUserVo -> { + sysUserVo.setDeptId(deptId); + }); + resultVo.setVoList(list); + return this.checkImport(resultVo); + } + + @Override + public SysUserResultVo checkImport(SysUserResultVo resultVo) + { + if (resultVo==null || StringUtils.isEmpty(resultVo.getVoList())){ + throw new BaseException("鏈幏鍙栧埌瀵煎叆淇℃伅锛�"); + } + for (SysUserVo vo : resultVo.getVoList()) { + List<ImportError> errors = new ArrayList<>(); + validEntityBeforeImport(vo, errors); + vo.setErrorList(errors); + } + return resultVo; + } + + private void validEntityBeforeImport(SysUserVo entity, List<ImportError> errorList) + { + if (StringUtils.isEmpty(entity.getNickName())){ + errorList.add(new ImportError(0, "璇峰~濮撳悕锛�")); + } + if (StringUtils.isEmpty(entity.getDeptName())){ + errorList.add(new ImportError(1, "璇峰~鍐欓儴闂ㄤ俊鎭紒")); + } else { + SysDept sysDept = deptService.selectDeptById(entity.getDeptId()); + if (sysDept==null || !sysDept.getDeptName().equals(entity.getDeptName())){ + errorList.add(new ImportError(1, "閮ㄩ棬淇℃伅涓嶅尮閰嶏紒")); + } + } + if (StringUtils.isEmpty(entity.getPhonenumber())){ + errorList.add(new ImportError(2, "璇峰~鍐欐墜鏈哄彿锛�")); + } else { + SysUser user = this.selectUserByUserName(entity.getPhonenumber()); + if (user!=null){ + entity.setUserId(user.getUserId()); + } else { + SysUser check = new SysUser(); + check.setPhonenumber(entity.getPhonenumber()); + String s = checkPhoneUnique(check); + if (UserConstants.NOT_UNIQUE.equals(s)) { + errorList.add(new ImportError(2, "鎵嬫満鍙峰凡瀛樺湪锛�")); + } + } + } + } + + @Override + public Boolean saveImport(SysUserResultVo resultVo) { + return null; + } } -- Gitblit v1.9.1