From 02c50f383155105967c353d6812142b2dbe99e52 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 22 十月 2025 11:35:42 +0800
Subject: [PATCH] 修改电话判断
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 206 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 195 insertions(+), 11 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 9143807..ca34c52 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;
@@ -13,6 +14,7 @@
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysUserService;
+import com.smartor.domain.SvyTaskVO;
import com.smartor.mapper.SysUserDeptMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,6 +23,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import org.springframework.util.ObjectUtils;
import javax.validation.Validator;
import java.util.*;
@@ -164,7 +167,7 @@
@Override
public SysUser selectUserByUserName2(String userName) {
String[] split = userName.split("&");
- SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1]);
+ SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], null);
if (Objects.isNull(sysUser)) return sysUser;
List<SysDept> sysDepts = null;
if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
@@ -181,6 +184,7 @@
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(sysUser.getUserId());
sysUserDept.setDeptType(sysUser.getSearchscope());
+ sysUserDept.setOrgid(split[1]);
List<SysUserDept> sysUserDeptKSs = null;
List<SysUserDept> sysUserDeptBQs = null;
if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("0")) {
@@ -193,6 +197,17 @@
sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
//濡傛灉鏄痑dmin锛岄渶瑕佸sysUserDeptBQs锛宻ysUserDeptBQs鍘婚噸
if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
+ //濡傛灉鏄痑dmin锛屽彧鑳藉幓sys_dept鍘诲彇鏁版嵁
+ SysDept dept = new SysDept();
+ dept.setOrgid(split[1]);
+ 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) {
@@ -253,6 +268,116 @@
}
return sysUser;
}
+
+ @Override
+ public SysUser selectUserByUserNameAndDeptId(String userName) {
+ String[] split = userName.split("&");
+ if (split[2].contains("null")) {
+ split[2] = null;
+ }
+ SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], split[2]);
+ log.info("selectUserByUserNameAndDeptId鐨剆ysUser鐨勫�间负锛歿}", sysUser);
+ if (Objects.isNull(sysUser)) return sysUser;
+ List<SysDept> sysDepts = null;
+ if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
+ SysDept dept = new SysDept();
+ dept.setOrgid(split[1]);
+ sysDepts = sysDeptMapper.selectDeptList(dept);
+ } else {
+ sysDepts = sysUserDeptMapper.selectDeptListByUserId(sysUser.getUserId());
+ }
+ List<Long> deptIds = new ArrayList<>();
+ for (SysDept sysDept : sysDepts) {
+ deptIds.add(sysDept.getDeptId());
+ }
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setUserId(sysUser.getUserId());
+ sysUserDept.setDeptType(sysUser.getSearchscope());
+ sysUserDept.setOrgid(split[1]);
+ List<SysUserDept> sysUserDeptKSs = null;
+ List<SysUserDept> sysUserDeptBQs = null;
+ if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("0")) {
+ if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
+ sysUserDept.setUserId(null);
+ }
+ sysUserDept.setDeptType("1");
+ sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ sysUserDept.setDeptType("2");
+ sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ //濡傛灉鏄痑dmin锛岄渶瑕佸sysUserDeptBQs锛宻ysUserDeptBQs鍘婚噸
+ if (StringUtils.isNotEmpty(split[0]) && split[0].equals("admin")) {
+ //濡傛灉鏄痑dmin锛屽彧鑳藉幓sys_dept鍘诲彇鏁版嵁
+ SysDept dept = new SysDept();
+ dept.setOrgid(split[1]);
+ 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;
+ }
+
+ } else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("1")) {
+ sysUserDept.setDeptType("1");
+ sysUserDeptKSs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ } else if (StringUtils.isNotEmpty(sysUser.getSearchscope()) && sysUser.getSearchscope().equals("2")) {
+ sysUserDept.setDeptType("2");
+ sysUserDeptBQs = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ }
+
+ sysUser.setDepts(deptIds);
+ if (!CollectionUtils.isEmpty(sysUserDeptBQs)) {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (SysUserDept sud : sysUserDeptBQs) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("districtCode", "");
+ if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("districtCode", sud.getDeptCode());
+ else continue;
+ map.put("districtName", "");
+ if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("districtName", sud.getDeptName());
+ list.add(map);
+ }
+ sysUser.setBelongWards(list);
+ }
+ if (!CollectionUtils.isEmpty(sysUserDeptKSs)) {
+ List<Map<String, Object>> list = new ArrayList<>();
+ for (SysUserDept sud : sysUserDeptKSs) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("deptCode", "");
+ if (StringUtils.isNotEmpty(sud.getDeptCode())) map.put("deptCode", sud.getDeptCode());
+ else continue;
+ map.put("deptName", "");
+ if (StringUtils.isNotEmpty(sud.getDeptName())) map.put("deptName", sud.getDeptName());
+ list.add(map);
+ }
+ sysUser.setBelongDepts(list);
+ }
+ return sysUser;
+ }
+
/**
* 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
@@ -391,15 +516,66 @@
// 鏂板鐢ㄦ埛淇℃伅
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());
- sysUserDep.setOrgid(user.getOrgid());
- 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());
+// sysUserDep.setOrgid(user.getOrgid());
+// sysUserDeptMapper.insertSysUserDept(sysUserDep);
+// }
+// }
+ if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
+ for (String deptCode : user.getDeptCodes()) {
+ SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+ if (ObjectUtils.isEmpty(sysDept)) {
+ continue;
+ }
+
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setUserId(user.getUserId());
+ sysUserDept.setOrgid(user.getOrgid());
+ 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)) {
+ sysUserDept.setId(sysUserDepts.get(0).getId());
+ 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);
+ if (ObjectUtils.isEmpty(sysDept)) {
+ continue;
+ }
+ SysUserDept sysUserDept = new SysUserDept();
+ sysUserDept.setUserId(user.getUserId());
+ sysUserDept.setDeptCode(wardCode);
+ sysUserDept.setDeptId(sysDept.getDeptId());
+ sysUserDept.setOrgid(user.getOrgid());
+ List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
+ sysUserDept.setDelFlag(0L);
+ sysUserDept.setDeptType("2");
+ sysUserDept.setOrgid(user.getOrgid());
+ sysUserDept.setDeptName(sysDept.getDeptName());
+ sysUserDept.setUpdateTime(new Date());
+ if (!CollectionUtils.isEmpty(sysUserDepts)) {
+ sysUserDeptMapper.updateSysUserDept(sysUserDept);
+ continue;
+ }
+ sysUserDept.setCreateTime(new Date());
+ sysUserDeptMapper.insertSysUserDept(sysUserDept);
}
}
// 鏂板鐢ㄦ埛宀椾綅鍏宠仈
@@ -463,11 +639,15 @@
if (!CollectionUtils.isEmpty(user.getDeptCodes())) {
for (String deptCode : user.getDeptCodes()) {
SysDept sysDept = sysDeptMapper.selectDeptByCode(deptCode);
+ if (ObjectUtils.isEmpty(sysDept)) {
+ continue;
+ }
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(user.getUserId());
sysUserDept.setOrgid(user.getOrgid());
sysUserDept.setDeptCode(deptCode);
+ sysUserDept.setDeptId(sysDept.getDeptId());
List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
sysUserDept.setDelFlag(0L);
sysUserDept.setDeptType("1");
@@ -485,10 +665,14 @@
if (!CollectionUtils.isEmpty(user.getWardCodes())) {
for (String wardCode : user.getWardCodes()) {
SysDept sysDept = sysDeptMapper.selectDeptByCode(wardCode);
-
+ if (ObjectUtils.isEmpty(sysDept)) {
+ continue;
+ }
SysUserDept sysUserDept = new SysUserDept();
sysUserDept.setUserId(user.getUserId());
sysUserDept.setDeptCode(wardCode);
+ sysUserDept.setDeptId(sysDept.getDeptId());
+ sysUserDept.setOrgid(user.getOrgid());
List<SysUserDept> sysUserDepts = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
sysUserDept.setDelFlag(0L);
sysUserDept.setDeptType("2");
--
Gitblit v1.9.3