|  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.*; | 
 |  |  | import java.util.concurrent.TimeUnit; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private MemberJoinMapper memberJoinMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private JkCabinetMapper jkCabinetMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private TrainTimeMapper trainTimeMapper; | 
 |  |  | 
 |  |  |         insert.setCode(member.getCode()); | 
 |  |  |         insert.setType(Constants.TWO); | 
 |  |  |         insert.setHkDate(new Date()); | 
 |  |  |         insert.setDdId(member.getDdId()); | 
 |  |  |         insert.setErpId(member.getErpId()); | 
 |  |  |         insert.setWorkStatus(Constants.ZERO);//默认在职 | 
 |  |  |         insert.setCanVisit(Constants.ZERO);//默认不可访问 | 
 |  |  | 
 |  |  |                 queryWrapper.apply(" find_in_set('"+companySpecialId+"',REPLACE(t3.company_path,'/',',')) "); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         if(null != member.getQueryAuth() && Constants.equalsInteger(member.getQueryAuth(),Constants.ONE)){ | 
 |  |  |             List<JkCabinet> jkCabinets = jkCabinetMapper.selectList(new QueryWrapper<JkCabinet>().lambda() | 
 |  |  |                     .eq(JkCabinet::getIsdeleted,Constants.ZERO) | 
 |  |  |                     .isNotNull(JkCabinet::getAuthMemberId) | 
 |  |  |             ); | 
 |  |  |             if(CollectionUtils.isNotEmpty(jkCabinets)){ | 
 |  |  |                 List<String> memberIdList = new ArrayList<>(); | 
 |  |  |                 List<String> authMemberId = jkCabinets.stream().map(i->i.getAuthMemberId()).collect(Collectors.toList()); | 
 |  |  |                 for (String s:authMemberId) { | 
 |  |  |                     memberIdList.addAll(Arrays.asList(s.split(","))) ; | 
 |  |  |                 } | 
 |  |  |                 queryWrapper.in(Member::getId,memberIdList); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |         } | 
 |  |  |         queryWrapper.eq(Member::getIsdeleted,Constants.ZERO); | 
 |  |  |         queryWrapper.eq(Member::getWorkStatus,Constants.ZERO); | 
 |  |  |         queryWrapper.orderByAsc(Member::getPinyin); | 
 |  |  | 
 |  |  |                 .eq(SystemUser::getDeleted,Constants.ZERO) | 
 |  |  |                 .last(" limit 1 ")); | 
 |  |  |         //非访客用户 进行判断是否存在用户 | 
 |  |  |         if(!Objects.isNull(user)){ | 
 |  |  |         if(Objects.isNull(user)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"您的账号暂未绑定系统,请联系管理员"); | 
 |  |  |         }else{ | 
 |  |  |             Member member = memberMapper.selectById(user.getMemberId()); | 
 |  |  |             if(member == null || member.getIsdeleted() == Constants.ONE){ | 
 |  |  |                 return; | 
 |  |  | //                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已删除,请联系管理员"); | 
 |  |  |                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"账号绑定异常,请联系管理员"); | 
 |  |  |             } | 
 |  |  |             if(member.getStatus() != Constants.ZERO){ | 
 |  |  |                 return; | 
 |  |  | //                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"用户已禁用,请联系管理员"); | 
 |  |  |                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"您的账号已禁用,请联系管理员"); | 
 |  |  |             } | 
 |  |  |             if(StringUtils.isNotBlank(member.getIdcardNo())){ | 
 |  |  |                 member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo())); | 
 |  |  | 
 |  |  |         if(importing!=null && importing){ | 
 |  |  |             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,已存在员工导入任务正在执行中,请稍后再试!"); | 
 |  |  |         } | 
 |  |  |         redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_MEMBER,true); | 
 |  |  |         redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_MEMBER,true,30, TimeUnit.MINUTES); | 
 |  |  |         try { | 
 |  |  |             ExcelImporter ie = null; | 
 |  |  |             List<MemberImport> dataList =null; | 
 |  |  | 
 |  |  |         member.setPhone(deptGetResponse.getMobile()); | 
 |  |  |         member.setName(deptGetResponse.getName()); | 
 |  |  |         member.setCode(deptGetResponse.getJobNumber()); | 
 |  |  |         member.setDdId(deptGetResponse.getUserid()); | 
 |  |  |         isMemberParamValidDetail(member,deptGetResponse.getDeptIdList()); | 
 |  |  |         //获取出生日期 | 
 |  |  |         //脱敏操作 | 
 |  |  | 
 |  |  |         if(Objects.nonNull(deptIdList)){ | 
 |  |  |             List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>().lambda().in(Company::getErpId,deptIdList) | 
 |  |  |                     .eq(Company::getType,Constants.ONE).eq(Company::getIsdeleted,Constants.ZERO) | 
 |  |  | //                    .isNotNull(Company::getHkId) 暂时无法同步开航 先注释 | 
 |  |  | //                    .isNotNull(Company::getHkId) 暂时无法同步海康 先注释 | 
 |  |  |             ); | 
 |  |  |             if(CollectionUtils.isNotEmpty(companyList)){ | 
 |  |  |                 member.setHkOrgId(companyList.get(Constants.ZERO).getHkId()); | 
 |  |  | 
 |  |  |         updateMember.setPhone(deptGetResponse.getMobile()); | 
 |  |  |         updateMember.setName(deptGetResponse.getName()); | 
 |  |  |         updateMember.setCode(deptGetResponse.getJobNumber()); | 
 |  |  |         | 
 |  |  |         updateMember.setDdId(deptGetResponse.getUserid()); | 
 |  |  |         updateMember.setHkId(null); | 
 |  |  |         updateMember.setAuthStatus(Constants.ZERO); | 
 |  |  |         Boolean hkFlag = dealHkUserForUpdateBiz(updateMember); | 
 |  |  | 
 |  |  |                 .set(updateMember.getHkDate()!=null,Member::getHkDate,updateMember.getHkDate()) | 
 |  |  |                 .set(StringUtils.isNotBlank(updateMember.getRemark()),Member::getRemark,updateMember.getRemark()) | 
 |  |  |                 .set(StringUtils.isNotBlank(updateMember.getFaceImg()),Member::getFaceImg,updateMember.getFaceImg()) | 
 |  |  |                 .set(StringUtils.isNotBlank(updateMember.getDdId()),Member::getDdId,updateMember.getDdId()) | 
 |  |  |                 .set(updateMember.getFaceId()!=null,Member::getFaceId,updateMember.getFaceId()) | 
 |  |  |                 .set(updateMember.getCompanyId()!=null,Member::getCompanyId,updateMember.getCompanyId()) | 
 |  |  |                 .set(Member::getCode,updateMember.getCode()) |