智慧保安后台管理-外网项目备份
钟日健
2026-06-01 62eb499b0c969f246d3245d1429a97da4de1ce28
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 @@
         }
      }
   }
}