From 5e3faa196ec93a8d1b983f50b3cd30d98c4e708a Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sat, 20 Jan 2024 13:43:45 +0800
Subject: [PATCH] 返回完整部门名

---
 src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 111 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..8e50a25 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,11 @@
 			//机构名称拼接
 			userVOS.forEach(userVO -> {
 				if (null!=userVO.getDeptId()) {
+
+					List<String> deptNameList = SysCache.getDeptNames(userVO.getAncestors()+","+userVO.getDeptId());
+
+					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 +218,30 @@
 					if (list.size() == 1) {
 						userVO.setDeptName(list.get(0));
 					}
+
+
+
+
 				}
 			});
 			return page.setRecords(userVOS);
 		}
+	}
+
+	private String getFullDeptName(List<String> deptNameList) {
+		String fullDeptName = "";
+		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 +349,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 +2109,5 @@
 			}
 		}
 	}
+
 }

--
Gitblit v1.9.3