From 62eb499b0c969f246d3245d1429a97da4de1ce28 Mon Sep 17 00:00:00 2001
From: 钟日健 <arsn163@163.com>
Date: Mon, 01 Jun 2026 20:46:13 +0800
Subject: [PATCH] feat: 成绩查询增加年龄查询返回

---
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java |  119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 119 insertions(+), 0 deletions(-)

diff --git a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
index 6a2857d..e808b88 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -104,6 +104,8 @@
 	private final SecurityPaperService securityPaperService;
 	private final IUserDetailService userDetailService;
 
+	private final IUserWxService userWxService;
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public boolean submit(User user) {
@@ -194,6 +196,17 @@
 			//机构名称拼接
 			userVOS.forEach(userVO -> {
 				if (null!=userVO.getDeptId()) {
+					String deptIds = "";
+					if (userVO.getAncestors() != null){
+						deptIds = userVO.getAncestors()+","+userVO.getDeptId();
+					}else{
+						deptIds = userVO.getDeptId();
+					}
+
+					List<String> deptNameList = SysCache.getDeptNames(deptIds);
+
+					userVO.setFullDeptName(getFullDeptName(deptNameList));
+
 					List<String> list = baseMapper.getDeptName(userVO.getDeptId());
 					if (list.size() > 1) {
 						if (null != list.get(1) && list.get(1) != "") {
@@ -211,10 +224,32 @@
 					if (list.size() == 1) {
 						userVO.setDeptName(list.get(0));
 					}
+
+
+
+
 				}
 			});
 			return page.setRecords(userVOS);
 		}
+	}
+
+	private String getFullDeptName(List<String> deptNameList) {
+		String fullDeptName = "";
+		if (deptNameList != null){
+			if (deptNameList.size()>1){
+				//多级
+				if (StringUtil.isNotBlank(deptNameList.get(0))){
+					//本市保安公司  xxx  xxx xxx
+					String first = deptNameList.get(0);
+					if (first.equals("本市保安公司") || first.equals("保安培训学校") || first.equals("自招保安单位") || first.equals("武装押运公司") || first.equals("分公司") || first.equals("其他")){
+						deptNameList.remove(0);
+						fullDeptName = StringUtil.join(deptNameList,",");
+					}
+				}
+			}
+		}
+		return fullDeptName;
 	}
 
 	@Override
@@ -322,6 +357,89 @@
 		User user = baseMapper.getUser(tenantId, account, password);
 		return buildUserInfo(user, userEnum);
 	}
+
+
+	@Override
+	public UserInfo wxUserInfo(String tenantId, String account, String password, UserEnum userEnum) {
+		//先去blade_user_wx表里查
+		UserWx userWx = userWxService.getUserWx(tenantId, account, password);
+
+		if (userWx != null){
+			//根据身份证号去user表里查
+			User userParam = new User();
+			userParam.setCardid(userWx.getCardid());
+			userParam.setIsDeleted(0);
+
+			List<User> list = list(Condition.getQueryWrapper(userParam));
+			//user表里有数据,就直接返回user表的数据
+			if (list.size()>0){
+				User user = list.get(0);
+				return buildUserInfo(user, userEnum);
+			}else{
+				//
+				User user = BuildUser(userWx);
+				return buildUserInfo(user, userEnum);
+			}
+		}else{
+			return null;
+		}
+	}
+
+	private User BuildUser(UserWx userWx) {
+		User user = new User();
+
+		user.setId(userWx.getId());
+		user.setCode(userWx.getCode());
+		user.setUserType(userWx.getUserType());
+		user.setAccount(userWx.getAccount());
+		user.setPassword(userWx.getPassword());
+		user.setName(userWx.getName());
+		user.setRealName(userWx.getRealName());
+		user.setAvatar(userWx.getAvatar());
+		user.setEmail(userWx.getEmail());
+		user.setPhone(userWx.getPhone());
+		user.setBirthday(userWx.getBirthday());
+		user.setSex(userWx.getSex());
+		user.setRoleId(userWx.getRoleId());
+		user.setDeptId(userWx.getDeptId());
+		user.setPostId(userWx.getPostId());
+		user.setCardid(userWx.getCardid());
+		user.setNativeplace(userWx.getNativeplace());
+		user.setNation(userWx.getNation());
+		user.setEducation(userWx.getEducation());
+		user.setPoliticaloutlook(userWx.getPoliticaloutlook());
+		user.setHeight(userWx.getHeight());
+		user.setCell(userWx.getCell());
+		user.setEmail(userWx.getEmail());
+		user.setHold(userWx.getHold());
+		user.setStatus(userWx.getStatus());
+		user.setJurisdiction(userWx.getJurisdiction());
+		user.setSecuritynumber(userWx.getSecuritynumber());
+		user.setExaminationType(userWx.getExaminationType());
+		user.setFingerprint(userWx.getFingerprint());
+		user.setPhoto(userWx.getPhoto());
+		user.setDispatch(userWx.getDispatch());
+		user.setMyPicture(userWx.getMyPicture());
+		user.setIsApply(userWx.getIsApply());
+		user.setBirthtime(userWx.getBirthtime());
+		user.setIsTrain(userWx.getIsTrain());
+		user.setHealstats(userWx.getHealstats());
+		user.setSoil(userWx.getSoil());
+		user.setPaperTime(userWx.getPaperTime());
+		user.setReasonForLeav(userWx.getReasonForLeav());
+		user.setImgForLeav(userWx.getImgForLeav());
+		user.setHoldv(userWx.getHoldv());
+		user.setHoldvtime(userWx.getHoldvtime());
+		user.setInsurance(userWx.getInsurance());
+		user.setAuditTime(userWx.getAuditTime());
+		user.setGuncode(userWx.getGuncode());
+		user.setEquipmentCode(userWx.getEquipmentCode());
+		user.setIsFreeze(userWx.getIsFreeze());
+		user.setAuditStatus(userWx.getAuditStatus());
+
+		return user;
+	}
+
 
 	private UserInfo buildUserInfo(User user) {
 		return buildUserInfo(user, UserEnum.WEB);
@@ -1999,4 +2117,5 @@
 			}
 		}
 	}
+
 }

--
Gitblit v1.9.3