From 24166f2d9ae0bb72f061a38b96a113b1b6e44fbc Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 02 二月 2026 17:17:52 +0800
Subject: [PATCH] 代码提交
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 105 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 96 insertions(+), 9 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 07b4dde..3edc1fc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -4,6 +4,7 @@
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.*;
import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DtoConversionUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanValidators;
@@ -100,7 +101,7 @@
/**
* 閫氳繃鐢ㄦ埛鍚嶆煡璇㈢敤鎴�
*
- * @param userName 鐢ㄦ埛鍚�
+ * @param phone 鐢ㄦ埛鍚�
* @return 鐢ㄦ埛瀵硅薄淇℃伅
*/
@Override
@@ -132,6 +133,39 @@
} else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("2")) {
sysUserDept.setDeptType("2");
sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ }
+ if (StringUtils.isNotEmpty(userName) && userName.equals("admin")) {
+ //濡傛灉鏄痑dmin锛屽彧鑳藉幓sys_dept鍘诲彇鏁版嵁
+ SysDept dept = new SysDept();
+ dept.setDeptType("1");
+ sysDepts = sysDeptMapper.selectDeptList(dept);
+ sysUserDeptKSs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
+
+ dept.setDeptType("2");
+ sysDepts = sysDeptMapper.selectDeptList(dept);
+ sysUserDeptBQs = DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
+
+ List<SysUserDept> distinctUserDepts = new ArrayList<>();
+ Set<String> uniqueDeptCodes = new HashSet<>();
+ for (SysUserDept userDept : sysUserDeptKSs) {
+ String deptCode = userDept.getDeptCode();
+ if (StringUtils.isNotEmpty(deptCode) && !uniqueDeptCodes.contains(deptCode)) {
+ distinctUserDepts.add(userDept);
+ uniqueDeptCodes.add(deptCode);
+ }
+ }
+
+ List<SysUserDept> distinctUserBQs = new ArrayList<>();
+ Set<String> uniqueBQCodes = new HashSet<>();
+ for (SysUserDept userDept : sysUserDeptBQs) {
+ String deptCode = userDept.getDeptCode();
+ if (StringUtils.isNotEmpty(deptCode) && !uniqueBQCodes.contains(deptCode)) {
+ distinctUserBQs.add(userDept);
+ uniqueBQCodes.add(deptCode);
+ }
+ }
+ sysUserDeptKSs = distinctUserDepts;
+ sysUserDeptBQs = distinctUserBQs;
}
sysUser.setDepts(deptIds);
@@ -307,16 +341,63 @@
user.setCreateTime(new Date());
int rows = userMapper.insertUser(user);
//鏂板鐢ㄦ埛涓庨儴闂ㄥ叧鑱�
- if (!CollectionUtils.isEmpty(user.getDepts())) {
- for (Long deptId : user.getDepts()) {
- SysUserDept sysUserDep = new SysUserDept();
- sysUserDep.setUserId(user.getUserId());
- sysUserDep.setDeptId(deptId);
- sysUserDep.setCreateTime(new Date());
- sysUserDep.setUpdateTime(new Date());
- sysUserDeptMapper.insertSysUserDept(sysUserDep);
+// if (!CollectionUtils.isEmpty(user.getDepts())) {
+// for (Long deptId : user.getDepts()) {
+// SysUserDept sysUserDep = new SysUserDept();
+// sysUserDep.setUserId(user.getUserId());
+// sysUserDep.setDeptId(deptId);
+// sysUserDep.setCreateTime(new Date());
+// sysUserDep.setUpdateTime(new Date());
+// sysUserDeptMapper.insertSysUserDept(sysUserDep);
+// }
+// }
+ if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
+ for (String deptCode : user.getDeptCodes()) {
+ SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+ if (Objects.isNull(sysDept)) {
+ log.error("閮ㄩ棬缂栫爜涓嶅瓨鍦�");
+ continue;
+ }
+
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setUserId(user.getUserId());
+ sysUserDept.setDeptCode(deptCode);
+ sysUserDept.setDeptId(sysDept.getDeptId());
+ List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ sysUserDept.setDelFlag(0L);
+ sysUserDept.setDeptType("1");
+ sysUserDept.setDeptName(sysDept.getDeptName());
+ sysUserDept.setUpdateTime(new Date());
+ if (!CollectionUtils.isEmpty(sysUserDepts)) {
+ sysUserDeptMapper.updateSysUserDept(sysUserDept);
+ continue;
+ }
+ sysUserDept.setCreateTime(new Date());
+ sysUserDeptMapper.insertSysUserDept(sysUserDept);
}
}
+ if (!CollectionUtils.isEmpty(user.getWardCodes())) {
+ for (String wardCode : user.getWardCodes()) {
+ SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
+
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setUserId(user.getUserId());
+ sysUserDept.setDeptCode(wardCode);
+ List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ sysUserDept.setDelFlag(0L);
+ sysUserDept.setDeptType("2");
+ sysUserDept.setDeptName(sysDept.getDeptName());
+ sysUserDept.setUpdateTime(new Date());
+ if (!CollectionUtils.isEmpty(sysUserDepts)) {
+ sysUserDeptMapper.updateSysUserDept(sysUserDept);
+ continue;
+ }
+ sysUserDept.setCreateTime(new Date());
+ sysUserDeptMapper.insertSysUserDept(sysUserDept);
+ }
+ }
+
+
// 鏂板鐢ㄦ埛宀椾綅鍏宠仈
insertUserPost(user);
// 鏂板鐢ㄦ埛涓庤鑹茬鐞�
@@ -380,10 +461,15 @@
if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
for (String deptCode : user.getDeptCodes()) {
SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+ if (Objects.isNull(sysDept)) {
+ log.error("閮ㄩ棬缂栫爜涓嶅瓨鍦�");
+ continue;
+ }
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(user.getUserId());
sysUserDept.setDeptCode(deptCode);
+ sysUserDept.setDeptId(sysDept.getDeptId());
List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
sysUserDept.setDelFlag(0L);
sysUserDept.setDeptType("1");
@@ -405,6 +491,7 @@
sysUserDept.setUserId(user.getUserId());
sysUserDept.setDeptCode(wardCode);
List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ sysUserDept.setDeptId(sysDept.getDeptId());
sysUserDept.setDelFlag(0L);
sysUserDept.setDeptType("2");
sysUserDept.setDeptName(sysDept.getDeptName());
--
Gitblit v1.9.3