From eb782eaac8f706a005ce18ed0b73fda22ac36113 Mon Sep 17 00:00:00 2001
From: sinake <sinake1@qq.com>
Date: 星期三, 22 十月 2025 10:27:14 +0800
Subject: [PATCH] 日期格式
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 399 ++++++++++++++++++++++++++------------------------------
1 files changed, 187 insertions(+), 212 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 1d555ae..323dd8c 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
@@ -166,240 +166,215 @@
@Override
public SysUser selectUserByUserName2(String userName) {
- log.debug("寮�濮嬫煡璇㈢敤鎴蜂俊鎭紝鐢ㄦ埛鍚�: {}", userName);
-
- try {
- // 鍙傛暟鏍¢獙
- if (StringUtils.isEmpty(userName)) {
- log.warn("鐢ㄦ埛鍚嶅弬鏁颁负绌�");
- return null;
- }
-
- // 瑙f瀽鐢ㄦ埛鍚嶅拰鏈烘瀯ID
- String[] userInfo = parseUserName(userName);
- if (userInfo == null) {
- log.warn("鐢ㄦ埛鍚嶆牸寮忎笉姝g‘: {}", userName);
- return null;
- }
-
- String username = userInfo[0];
- String orgId = userInfo[1];
-
- // 鏌ヨ鐢ㄦ埛鍩烘湰淇℃伅
- SysUser sysUser = userMapper.selectUserByUserNameByCondition(username, orgId);
- if (Objects.isNull(sysUser)) {
- log.warn("鏈壘鍒扮敤鎴蜂俊鎭�: username={}, orgId={}", username, orgId);
- return null;
- }
-
- // 鏌ヨ鐢ㄦ埛閮ㄩ棬淇℃伅
- List<SysDept> sysDepts = getUserDepts(sysUser, username, orgId);
- List<Long> deptIds = extractDeptIds(sysDepts);
- sysUser.setDepts(deptIds);
-
- // 鏍规嵁鎼滅储鑼冨洿澶勭悊绉戝鍜岀梾鍖轰俊鎭�
- processUserDeptInfo(sysUser, username, orgId);
-
- log.debug("鐢ㄦ埛淇℃伅鏌ヨ瀹屾垚: userId={}", sysUser.getUserId());
- return sysUser;
-
- } catch (Exception e) {
- log.error("鏌ヨ鐢ㄦ埛淇℃伅鏃跺彂鐢熷紓甯�: userName={}", userName, e);
- return null;
- }
- }
-
- /**
- * 瑙f瀽鐢ㄦ埛鍚嶏紝鎻愬彇鐢ㄦ埛鍚嶅拰鏈烘瀯ID
- */
- private String[] parseUserName(String userName) {
- if (StringUtils.isEmpty(userName) || !userName.contains("&")) {
- return null;
- }
- return userName.split("&");
- }
-
- /**
- * 鑾峰彇鐢ㄦ埛閮ㄩ棬淇℃伅
- */
- private List<SysDept> getUserDepts(SysUser sysUser, String username, String orgId) {
- if ("admin".equals(username)) {
+ String[] split = userName.split("&");
+ 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")) {
SysDept dept = new SysDept();
- dept.setOrgid(orgId);
- return sysDeptMapper.selectDeptList(dept);
+ dept.setOrgid(split[1]);
+ sysDepts = sysDeptMapper.selectDeptList(dept);
} else {
- return sysUserDeptMapper.selectDeptListByUserId(sysUser.getUserId());
+ sysDepts = sysUserDeptMapper.selectDeptListByUserId(sysUser.getUserId());
}
- }
-
- /**
- * 鎻愬彇閮ㄩ棬ID鍒楄〃
- */
- private List<Long> extractDeptIds(List<SysDept> sysDepts) {
- if (CollectionUtils.isEmpty(sysDepts)) {
- return new ArrayList<>();
+ List<Long> deptIds = new ArrayList<>();
+ for (SysDept sysDept : sysDepts) {
+ deptIds.add(sysDept.getDeptId());
}
- return sysDepts.stream()
- .map(SysDept::getDeptId)
- .collect(Collectors.toList());
- }
-
- /**
- * 澶勭悊鐢ㄦ埛绉戝鍜岀梾鍖轰俊鎭�
- */
- private void processUserDeptInfo(SysUser sysUser, String username, String orgId) {
- String searchScope = sysUser.getSearchscope();
- if (StringUtils.isEmpty(searchScope)) {
- return;
- }
-
- switch (searchScope) {
- case "0": // 鍏ㄩ儴鑼冨洿
- processFullScopeDeptInfo(sysUser, username, orgId);
- break;
- case "1": // 绉戝鑼冨洿
- processDeptScopeInfo(sysUser, orgId, "1");
- break;
- case "2": // 鐥呭尯鑼冨洿
- processDeptScopeInfo(sysUser, orgId, "2");
- break;
- default:
- log.warn("鏈煡鐨勬悳绱㈣寖鍥�: {}", searchScope);
- }
- }
-
- /**
- * 澶勭悊鍏ㄩ儴鑼冨洿鐨勯儴闂ㄤ俊鎭�
- */
- private void processFullScopeDeptInfo(SysUser sysUser, String username, String orgId) {
- SysUserDept sysUserDept = createSysUserDept(sysUser, orgId);
-
+ 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 ("admin".equals(username)) {
- // admin鐢ㄦ埛鐗规畩澶勭悊
- sysUserDept.setUserId(null);
- sysUserDeptKSs = getAdminDeptList(orgId, "1");
- sysUserDeptBQs = getAdminDeptList(orgId, "2");
-
- // 鍘婚噸澶勭悊
- sysUserDeptKSs = removeDuplicateDepts(sysUserDeptKSs);
- sysUserDeptBQs = removeDuplicateDepts(sysUserDeptBQs);
- } else {
- // 鏅�氱敤鎴峰鐞�
+ 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);
}
-
- // 璁剧疆绉戝鍜岀梾鍖轰俊鎭�
- setBelongWards(sysUser, sysUserDeptBQs);
- setBelongDepts(sysUser, sysUserDeptKSs);
- }
-
- /**
- * 澶勭悊鎸囧畾鑼冨洿鐨勯儴闂ㄤ俊鎭�
- */
- private void processDeptScopeInfo(SysUser sysUser, String orgId, String deptType) {
- SysUserDept sysUserDept = createSysUserDept(sysUser, orgId);
- sysUserDept.setDeptType(deptType);
- List<SysUserDept> deptList = sysUserDeptMapper.selectSysUserDeptList(sysUserDept);
-
- if ("1".equals(deptType)) {
- setBelongDepts(sysUser, deptList);
- } else if ("2".equals(deptType)) {
- setBelongWards(sysUser, deptList);
+
+ 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;
}
-
- /**
- * 鍒涘缓SysUserDept瀵硅薄
- */
- private SysUserDept createSysUserDept(SysUser sysUser, String orgId) {
+
+ @Override
+ public SysUser selectUserByUserNameAndDeptId(String userName) {
+ String[] split = userName.split("&");
+ SysUser sysUser = userMapper.selectUserByUserNameByCondition(split[0], split[1], split[2]);
+ 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(orgId);
- return sysUserDept;
- }
-
- /**
- * 鑾峰彇admin鐢ㄦ埛鐨勯儴闂ㄥ垪琛�
- */
- private List<SysUserDept> getAdminDeptList(String orgId, String deptType) {
- SysDept dept = new SysDept();
- dept.setOrgid(orgId);
- dept.setDeptType(deptType);
- List<SysDept> sysDepts = sysDeptMapper.selectDeptList(dept);
- return DtoConversionUtils.sourceToTarget(sysDepts, SysUserDept.class);
- }
-
- /**
- * 鍘婚櫎閲嶅鐨勯儴闂ㄤ俊鎭�
- */
- private List<SysUserDept> removeDuplicateDepts(List<SysUserDept> deptList) {
- if (CollectionUtils.isEmpty(deptList)) {
- return new ArrayList<>();
- }
-
- List<SysUserDept> distinctDepts = new ArrayList<>();
- Set<String> uniqueCodes = new HashSet<>();
-
- for (SysUserDept dept : deptList) {
- String deptCode = dept.getDeptCode();
- if (StringUtils.isNotEmpty(deptCode) && !uniqueCodes.contains(deptCode)) {
- distinctDepts.add(dept);
- uniqueCodes.add(deptCode);
+ 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);
}
-
- return distinctDepts;
- }
-
- /**
- * 璁剧疆鐥呭尯淇℃伅
- */
- private void setBelongWards(SysUser sysUser, List<SysUserDept> sysUserDeptBQs) {
- if (CollectionUtils.isEmpty(sysUserDeptBQs)) {
- return;
+
+ 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);
}
-
- List<Map<String, Object>> wardList = sysUserDeptBQs.stream()
- .filter(sud -> StringUtils.isNotEmpty(sud.getDeptCode()))
- .map(sud -> {
- Map<String, Object> map = new HashMap<>();
- map.put("districtCode", StringUtils.defaultString(sud.getDeptCode(), ""));
- map.put("districtName", StringUtils.defaultString(sud.getDeptName(), ""));
- return map;
- })
- .collect(Collectors.toList());
-
- sysUser.setBelongWards(wardList);
- }
-
- /**
- * 璁剧疆绉戝淇℃伅
- */
- private void setBelongDepts(SysUser sysUser, List<SysUserDept> sysUserDeptKSs) {
- if (CollectionUtils.isEmpty(sysUserDeptKSs)) {
- return;
+ 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);
}
-
- List<Map<String, Object>> deptList = sysUserDeptKSs.stream()
- .filter(sud -> StringUtils.isNotEmpty(sud.getDeptCode()))
- .map(sud -> {
- Map<String, Object> map = new HashMap<>();
- map.put("deptCode", StringUtils.defaultString(sud.getDeptCode(), ""));
- map.put("deptName", StringUtils.defaultString(sud.getDeptName(), ""));
- return map;
- })
- .collect(Collectors.toList());
-
- sysUser.setBelongDepts(deptList);
+ return sysUser;
}
+
/**
* 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
*
--
Gitblit v1.9.3