|  |  | 
 |  |  | import com.doumee.core.annotation.excel.ExcelImporter; | 
 |  |  | import com.doumee.core.constants.ResponseStatus; | 
 |  |  | import com.doumee.core.exception.BusinessException; | 
 |  |  | import com.doumee.core.haikang.model.HKConstants; | 
 |  |  | import com.doumee.core.haikang.model.param.BaseResponse; | 
 |  |  | import com.doumee.core.haikang.model.param.request.UserDelRequest; | 
 |  |  | import com.doumee.core.haikang.model.param.respose.UserDelResponse; | 
 |  |  | import com.doumee.core.haikang.service.HKService; | 
 |  |  | import com.doumee.core.model.LoginUserInfo; | 
 |  |  | import com.doumee.core.model.PageData; | 
 |  |  | import com.doumee.core.model.PageWrap; | 
 |  |  | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
 |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
 |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
 |  |  | import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl; | 
 |  |  | import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; | 
 |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
 |  |  | import org.apache.commons.collections.CollectionUtils; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private UserActionJoinMapper userActionJoinMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private MemberCardMapper memberCardMapper; | 
 |  |  |     @Autowired | 
 |  |  |     private CompanyMapper companyMapper; | 
 |  |  |  | 
 |  |  | 
 |  |  |         memberMapper.updateById(member); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void roleAuthById(Integer id) { | 
 |  |  |         Member member = memberMapper.selectById(id); | 
 |  |  |         if(member==null || member.getIsdeleted().equals(Constants.ONE)){ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"员工信息已删除"); | 
 |  |  |         } | 
 |  |  | //        List<MemberCard> cards = HkSyncOrgUserToHKServiceImpl.getNormalCardList(member,memberCardMapper); | 
 |  |  |         HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,member,deviceRoleMapper,empowerMapper,deviceMapper); | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  |     public     void empowerByList(Member member) { | 
 |  |  |         if(member.getIdList()!=null && member.getIdList().size() >0){ | 
 |  |  |              List<Member> members = memberMapper.selectList(new QueryWrapper<Member>().lambda() | 
 |  |  |                      .in(Member::getId,member.getIdList()) | 
 |  |  |                      .eq(Member::getIsdeleted,Constants.ZERO)); | 
 |  |  |              if(members!=null){ | 
 |  |  |                  for(Member m : members){ | 
 |  |  |                      HkSyncOrgUserToHKServiceImpl.dealMemberRoleEmpowerDo(null,m,deviceRoleMapper,empowerMapper,deviceMapper); | 
 |  |  |                  } | 
 |  |  |              } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public void delete(Member member) { | 
 |  |  |         UpdateWrapper<Member> deleteWrapper = new UpdateWrapper<>(member); | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public void updateById(Member member) { | 
 |  |  |         memberMapper.updateById(member); | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  |     public void updateFace(Member member) { | 
 |  |  |         QueryWrapper<Member> wrapper = new QueryWrapper<>(member); | 
 |  |  |         wrapper.lambda().ne(Member::getRemark,"人脸已同步最新"); | 
 |  |  |         List<Member> list =memberMapper.selectList(wrapper); | 
 |  |  |        if(list!=null){ | 
 |  |  |            String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() | 
 |  |  |                    +systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); | 
 |  |  |            for(Member m : list){ | 
 |  |  |              String faceId=  HkSyncOrgUserToHKServiceImpl.dealMemberFace(m,path); | 
 |  |  |              if(StringUtils.isNotBlank(faceId)){ | 
 |  |  |                  Member update = new Member(); | 
 |  |  |                  update.setId(m.getId()); | 
 |  |  |                  update.setFaceId(faceId); | 
 |  |  |                  update.setRemark("人脸已同步最新"); | 
 |  |  |                  update.setFaceStatus(Constants.ONE); | 
 |  |  |                  memberMapper.updateById(update); | 
 |  |  |              } | 
 |  |  |            } | 
 |  |  |        } | 
 |  |  |     } | 
 |  |  |     @Override | 
 |  |  |     public void delHkForce(Member member) { | 
 |  |  |       Member model  =memberMapper.selectById(member.getId()); | 
 |  |  |        if(model ==null) { | 
 |  |  |             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,人员信息不存在!"); | 
 |  |  |        } | 
 |  |  |         if(!Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){ | 
 |  |  |             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,只有针对离职人员可进行该操作!"); | 
 |  |  |        } | 
 |  |  |         if(Constants.equalsObject(model.getHkStatus(),Constants.ONE)){ | 
 |  |  |             throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,该人员已被删除!"); | 
 |  |  |        } | 
 |  |  |         if(StringUtils.isBlank(model.getHkId())){ | 
 |  |  |             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,该人员非安防平台创建人员,不能进行该操作!"); | 
 |  |  |        } | 
 |  |  |         HkSyncEmpowerServiceImpl.doHkDeleteUser(model.getId(),model.getHkId(),new Date(),memberMapper,memberCardMapper); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<Member> findList(Member member) { | 
 |  |  |         QueryWrapper<Member> wrapper = new QueryWrapper<>(member); | 
 |  |  |         MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); | 
 |  |  |         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); | 
 |  |  |         queryWrapper.selectAll(Member.class) | 
 |  |  |                 .selectAs(Company::getName,MemberInfoDTO::getCompanyName) | 
 |  |  |                 .selectAs(Company::getLinkName,MemberInfoDTO::getLinkName); | 
 |  |  |  | 
 |  |  |         if(null != member.getType()) { | 
 |  |  |             wrapper.lambda().eq(Member::getType,member.getType()); | 
 |  |  |             queryWrapper.eq(Member::getType,member.getType()); | 
 |  |  |         } | 
 |  |  |         wrapper.lambda().eq(Member::getIsdeleted,Constants.ZERO); | 
 |  |  |         return memberMapper.selectList(wrapper); | 
 |  |  |         if(null != member.getCompanyId()) { | 
 |  |  |             queryWrapper.eq(Member::getCompanyId,member.getCompanyId()); | 
 |  |  |         } | 
 |  |  |         queryWrapper.eq(Member::getIsdeleted,Constants.ZERO); | 
 |  |  |  | 
 |  |  |         List<Member> list =  memberJoinMapper.selectJoinList(Member.class,queryWrapper); | 
 |  |  |         if(list!=null){ | 
 |  |  |             for(Member m : list){ | 
 |  |  |                 m.setName(StringUtils.defaultString(m.getName(),"")+"-"+StringUtils.defaultString(m.getCompanyName(),"")); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return  list; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  | 
 |  |  |  | 
 |  |  |         queryWrapper.selectAll(Member.class); | 
 |  |  |         queryWrapper.selectAs(Company::getName,Member::getCompanyName); | 
 |  |  |         queryWrapper.select(" ( select count(1) from member_card mc where mc.member_id = t.id ) as  memberCardCount "); | 
 |  |  |         queryWrapper.select(" ( select count(1) from member_card mc where mc.isdeleted = 0 and  mc.member_id = t.id ) as  memberCardCount "); | 
 |  |  |         queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); | 
 |  |  |         queryWrapper.in(Objects.nonNull(pageWrap.getModel().getCompanyIds())&&pageWrap.getModel().getCompanyIds().size()>0, | 
 |  |  |                         Member::getCompanyId,pageWrap.getModel().getCompanyIds()) | 
 |  |  | 
 |  |  |                         .like(Member::getPhone,pageWrap.getModel().getKeyword()) | 
 |  |  |                         .or().like(Member::getName,pageWrap.getModel().getKeyword()) | 
 |  |  |                         .or().like(Member::getCode,pageWrap.getModel().getKeyword())) | 
 |  |  |                 .isNull(!Objects.isNull(pageWrap.getModel().getHasFace())&&Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ZERO),Member::getFaceId) | 
 |  |  |                 .isNotNull(!Objects.isNull(pageWrap.getModel().getHasFace())&&Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ONE),Member::getFaceId) | 
 |  |  |                 .isNull(pageWrap.getModel().getHasFace()!=null&& Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ZERO),Member::getFaceId) | 
 |  |  |                 .isNotNull(pageWrap.getModel().getHasFace()!=null&& Constants.equalsInteger(pageWrap.getModel().getHasFace(),Constants.ONE),Member::getFaceId) | 
 |  |  |                 .eq(Objects.nonNull(pageWrap.getModel().getCanVisit()),Member::getCanVisit,pageWrap.getModel().getCanVisit()) | 
 |  |  |                 .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Member::getStatus,pageWrap.getModel().getStatus()) | 
 |  |  |                 .eq(Objects.nonNull(pageWrap.getModel().getHkStatus()),Member::getHkStatus,pageWrap.getModel().getHkStatus()) | 
 |  |  |                 .eq(Member::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(Objects.isNull(pageWrap.getModel().getIsdeleted()),Member::getIsdeleted,Constants.ZERO) | 
 |  |  |                 .eq(Objects.nonNull(pageWrap.getModel().getIsdeleted()),Member::getIsdeleted,pageWrap.getModel().getIsdeleted()) | 
 |  |  |                 .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()) | 
 |  |  | //                .eq(Member::getStatus,Constants.Status.ENABLE.getValue()) | 
 |  |  |                 .eq(Member::getType,Constants.memberType.internal) | 
 |  |  |                 .orderByDesc(Member::getCreateDate); | 
 |  |  |                 .eq(pageWrap.getModel().getHkStatus()!=null,Member::getHkStatus,pageWrap.getModel().getHkStatus()) | 
 |  |  |                 .orderByDesc(!Constants.equalsObject(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getCreateDate) | 
 |  |  |                 .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getEditDate); | 
 |  |  |         if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){ | 
 |  |  |             queryWrapper.eq( StringUtils.isNotBlank(pageWrap.getModel().getErpOrgId()),Member::getErpOrgId,pageWrap.getModel().getErpOrgId()); | 
 |  |  |         }else{ | 
 |  |  | 
 |  |  |                 .like(StringUtils.isNotBlank(pageWrap.getModel().getPhone()),Member::getPhone,pageWrap.getModel().getPhone()) | 
 |  |  |                 .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), ms->ms.like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName()) | 
 |  |  |                         .or().like(Company::getName,pageWrap.getModel().getCompanyName())) | 
 |  |  |                 .like(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo,pageWrap.getModel().getIdcardNo()) | 
 |  |  |                 .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo, | 
 |  |  |                         DESUtil.encrypt(Constants.EDS_PWD, pageWrap.getModel().getIdcardNo()) | 
 |  |  |                 ) | 
 |  |  |                 .eq(Objects.nonNull(pageWrap.getModel().getHkStatus()),Member::getHkStatus,pageWrap.getModel().getHkStatus()) | 
 |  |  |                 .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Member::getStatus,pageWrap.getModel().getStatus()) | 
 |  |  |                 .eq(Member::getType,Constants.memberType.visitor) | 
 |  |  | 
 |  |  |                         model.setDeviceId(deviceRole.getId()); | 
 |  |  |                         model.setSendStatus(Constants.ZERO); | 
 |  |  |                         model.setSendType(Constants.ZERO); | 
 |  |  |                         model.setFailFlag(Constants.ZERO); | 
 |  |  |                         list.add(model); | 
 |  |  |                     } | 
 |  |  |                     //导入新增的授权信息 | 
 |  |  | 
 |  |  |             } | 
 |  |  |             BeanUtils.copyProperties(member,memberVO); | 
 |  |  |         }else{ | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY); | 
 |  |  |             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"请核实被访人信息!"); | 
 |  |  |         } | 
 |  |  |         return memberVO; | 
 |  |  |     } |