nidapeng
2024-03-07 651a0e8cc97a4679f3f80073adb3d9067af276a3
整理
已修改1个文件
14 ■■■■■ 文件已修改
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncEmpowerServiceImpl.java
@@ -112,9 +112,9 @@
                            .set(Empower::getSendInfo,"下发失败" )
                            .set(Empower::getSendStatus,Constants.EmpowerStatus.fail) );
                    }
                   checkDelMemberTask(c.getMemberId());
               }
           }
           checkDelMemberTask();
        }catch (Exception e){
            e.printStackTrace();
        }finally {
@@ -141,12 +141,14 @@
                log.info("海康删除用户失败:==============="+result.getData().get(0).getPersonId());
                memberMapper.update(null,new UpdateWrapper<Member>().lambda()
                        .set(Member::getHkStatus,Constants.TWO)//同步失败
                        .set(Member::getRemark,"同步海康删除失败")//同步失败
                        .set(Member::getHkDate,date)
                        .in(Member::getId, id));
            }else{
                //标记删除成功的数据(海康对接状态为已同步,,同步失败的仍为待同步,等下一次继续处理,知道全部删除完毕)
                memberMapper.update(null,new UpdateWrapper<Member>().lambda()
                        .set(Member::getHkStatus,Constants.ONE)//同步成功
                        .set(Member::getRemark,"同步海康删除失败")//同步失败
                        .set(Member::getHkDate,date)
                        .in(Member::getId, id));
                //删除所有绑定的卡片信息
@@ -160,20 +162,16 @@
    /**
     * 检查删除人员的权限是否都删除完成,如果权限删除完成, 进行海康人员的删除操作
     */
    private void checkDelMemberTask() {
        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                .eq(Member::getIsdeleted,Constants.ONE)
                .eq(Member::getHkStatus,Constants.FOUR));
        if(memberList!=null &&memberList.size()>0 ){
    private void checkDelMemberTask(Integer memberId) {
            Date date = new Date();
            for(Member member : memberList){
            Member member = memberMapper.selectById(memberId);
            if(member!=null ){
                if(empowerMapper.selectCount(new QueryWrapper<Empower>().lambda()
                        .eq(Empower::getMemberId,member.getId())
                        .eq(Empower::getIsdeleted,Constants.ONE)
                        .ne(Empower::getSendStatus,Constants.EmpowerStatus.pass)) ==0){
                    //如果权限都已经删除成功,则删除海康人员和卡片数据
                     doHkDeleteUser(member.getId(),member.getHkId(),date);
                }
            }
        }
    }