k94314517
2024-03-04 aed1ef97d6ae1d3961b9a57c767758c9d34e1b93
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -264,9 +264,10 @@
            List<Member> list = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
                    .selectAll(Member.class )
                    .selectAs(Company::getHkId,Member::getHkOrgId)
                    .isNotNull(Member::getFaceImg)
//                    .isNotNull(Member::getFaceId
                    .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                    .eq(Member::getHkStatus,Constants.ZERO)
                    .eq(Member::getType,Constants.memberType.internal)
                    .orderByAsc(Member::getErpDate));
            if(list ==null || list.size()==0){
                return;
@@ -314,7 +315,7 @@
        return  null;
    }
    @Transactional
    private boolean dealMemberInfoBiz(Member c, Date date, String path) {
    public boolean dealMemberInfoBiz(Member c, Date date, String path) {
        if( c.getCompanyId() == null){
            //如果没有组织不做处理
            return  false;
@@ -327,6 +328,14 @@
            dealUserHkEditBiz(c,date,path);
        }
        return  false;
    }
    private void dealDelMemberRoleEmpower(Member member ) {
        //待移除权限的设备数据授权记录(针对删除和更新丢失的权限,需要同步下发删除权限)
        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
                .eq(Empower::getMemberId,member.getId())
                .set(Empower::getIsdeleted,Constants.ONE)
                .eq(Empower::getIsdeleted,Constants.ZERO)
                .set(Empower::getSendStatus,Constants.ZERO));
    }
    private void dealMemberRoleEmpower(Member member ) {
        //处理新增的人员卡片数据(与海康同步)
@@ -373,7 +382,6 @@
                deviceIds.add(deviceRole.getId());
                list.add(model);
            }
        }
        //待移除权限的设备数据授权记录(针对删除和更新丢失的权限,需要同步下发删除权限)
        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
@@ -478,13 +486,16 @@
    private void dealUserHkEditBiz(Member c, Date date, String path) {
        c.setHkStatus(Constants.ONE);
        if(Constants.equalsInteger(Constants.ONE,c.getIsdeleted())){
            //处理删除数据(删除之前下发的海康人员信息)
            boolean r = doHkDeleteUser(c.getId(),c.getHkId(),date);
            //处理删除数据(删除之前下发的海康人员权限信息)
            dealDelMemberRoleEmpower(c);
            c.setHkStatus(Constants.FOUR );
            c.setRemark( "等待删除授权!");
            /*boolean r = doHkDeleteUser(c.getId(),c.getHkId(),date);
            c.setHkStatus(r?Constants.ONE:Constants.TWO);
            c.setRemark(r?null:"删除海康人员信息失败!");
            c.setIsdeleted(r? Constants.ONE: Constants.ZERO);//删除失败,恢复数据
            //删除所有绑定的卡片信息
            memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,c.getId()));
            memberCardMapper.delete(new QueryWrapper<MemberCard>().lambda().eq(MemberCard::getMemberId,c.getId()));*/
        }else{
            //处理修改数据,并且更新人脸
            UserAddRequest  addHkModel = getUserAddModel(c,path,1);//修改
@@ -537,6 +548,7 @@
            noticeErpFail(c,Constants.ZERO,"人脸照片不存在,获取失败!");
            c.setHkStatus(Constants.TWO);
            c.setRemark("人脸照片不存在,获取失败!");
            c.setHkDate(new Date());
            memberMapper.updateById(c);
            return  false;
        }
@@ -546,6 +558,7 @@
            c.setFaceId(result.getData().getFaceId());
            c.setHkStatus(Constants.ONE);
            c.setHkId(addHkModel.getPersonId());
            c.setHkDate(new Date());
            memberMapper.updateById(c);
            dealMemberRoleEmpower(c);
            return  true;
@@ -553,6 +566,7 @@
            noticeErpFail(c,Constants.ZERO,"人员信息同步安防平台失败,请修正后重试!"+result.getCode()+result.getMsg());
            c.setHkStatus(Constants.TWO);
            c.setRemark("人员信息同步安防平台失败,请修正后重试!"+(result!=null?result.getMsg():""));
            c.setHkDate(new Date());
            memberMapper.updateById(c);
            return  false;
        }
@@ -571,9 +585,12 @@
                return  response.getData().getFaceId();
            }
        }else{
            BaseResponse response = HKService.editFace(getFaceUpdateModel(c,path));
            if(StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) ){
                return  c.getFaceId();
            FaceEditRequest param =getFaceUpdateModel(c,path);
            if(param !=null){
                BaseResponse response = HKService.editFace(param);
                if(StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE) ){
                    return  c.getFaceId();
                }
            }
        }
        return null;