k94314517
2024-05-27 ab0a9275c3bbd9ffa1a3f2147fcb1e409622cca8
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -202,6 +202,7 @@
        insert.setCanVisit(Constants.ZERO);//默认不可访问
        insert.setAuthStatus(Constants.ZERO);
        insert.setName(member.getName());
        insert.setHkId(UUID.randomUUID().toString().replace("-",""));
        insert.setHkStatus(Constants.ONE);
        insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//根据身份证号获取性别
        insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
@@ -472,6 +473,10 @@
        }
        member.setHkId(model.getHkId());
        member.setFaceId(model.getFaceId());//人脸编码
        if(StringUtils.equals(model.getFaceImg(),member.getFaceImg())){
            //如果人脸没变化
            member.setFaceImg(null);
        }
        return model;
    }
@@ -529,9 +534,7 @@
    }
    @Override
    public void deleteById(Integer id,LoginUserInfo user) {
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
    public void deleteById(Integer id,LoginUserInfo loginUserInfo) {
        Member member=new Member();
        member.setId(id);
        member.setIsdeleted(Constants.ZERO);
@@ -586,12 +589,12 @@
                //如果员工信息不合法直接跳过
               continue;
            }
            if(StringUtils.isNotBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,用户【"+member.getName()+"】的人脸信息不满足授权条件,请返回完善后再进行该操作!");
            }
            member.setStartTime(memberRole.getStartTime());
            member.setEndTime(memberRole.getEndTime());
            Integer ischange = getRoleIdByParam(memberRole.getRoleIds(),member,memberRoleMapper,deviceRoleMapper);
            if(ischange == 0){
                return;//未发现权限变化,直接返回
            }
            if(memberRole.getRoleIds()!=null && memberRole.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对不起,未查询到有效门禁组数据");
            }
@@ -1621,30 +1624,24 @@
    @Override
    public MemberVO getVisitedMember(CheckVisitedDTO checkVisitedDTO){
        Integer validType = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.BEVISITED_USER_VALID).getCode());
        if(Objects.isNull(checkVisitedDTO)||StringUtils.isBlank(checkVisitedDTO.getMobile())||(validType.equals(Constants.ONE)&&StringUtils.isBlank(checkVisitedDTO.getName()))){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
                .eq(Member::getPhone,checkVisitedDTO.getMobile())
                .eq(validType.equals(Constants.ONE),Member::getName,checkVisitedDTO.getName())
    public List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO){
        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                .eq(StringUtils.isNotBlank(checkVisitedDTO.getMobile()),Member::getPhone,checkVisitedDTO.getMobile())
                .eq(StringUtils.isNotBlank(checkVisitedDTO.getName()),Member::getName,checkVisitedDTO.getName())
                .eq(Member::getIsdeleted,Constants.ZERO)
//                .eq(Member::getStatus,Constants.ZERO)
                .eq(Member::getStatus,Constants.ZERO)
                .eq(Member::getCanVisit,Constants.ONE)
                .eq(Member::getType,Constants.memberType.internal)
                .last(" limit 1 ")
                .eq(Member::getType,Constants.memberType.internal)
        );
        MemberVO memberVO = new MemberVO();
        if(!Objects.isNull(member)){
            if(!member.getStatus().equals(Constants.ZERO)){
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"被访人账号异常,请确认后再试");
        List<MemberVO> memberVOList = new ArrayList<>();
        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) {
            for (Member member:memberList) {
                MemberVO memberVO = new MemberVO();
                BeanUtils.copyProperties(member,memberVO);
                memberVOList.add(memberVO);
            }
            BeanUtils.copyProperties(member,memberVO);
        }else{
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"请核实被访人信息!");
        }
        return memberVO;
        return memberVOList;
    }
@@ -1830,17 +1827,20 @@
    private void dealHkUserBizBatch(List<Member> newList) {
        List<String> hkIds = new ArrayList<>();
        try {
            memberMapper.insertBatchSomeColumn(newList);
            List<SystemUser> userList = new ArrayList<>();
            for(Member insert: newList){
                if(dealHkUserBiz(insert)){
                    //创建系统登陆账号(默认无任何角色)
                    if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){
                        //如果是内部组织人员,新增系统登陆账号
                        userList.add(createSystemUser(insert));
                    }
                }else{
                    throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息【"+insert.getName()+"】同步安防平台失败,请稍后重试!");
                }
            }
            memberMapper.insertBatchSomeColumn(newList);
            List<SystemUser> userList = new ArrayList<>();
            for(Member insert: newList){
                //创建系统登陆账号(默认无任何角色)
                if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){
                    //如果是内部组织人员,新增系统登陆账号
                    userList.add(createSystemUser(insert));
                }
            }
            if(userList.size()>0){
@@ -1852,7 +1852,6 @@
            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"对不起,员工信息导入失败,请稍后重试!");
        }
    }
    private Member checkModelParam(MemberImport model, List<Member> newList
            ,int index
            ,LoginUserInfo loginUserInfo