nidapeng
2024-03-28 d16520069e7a89b5ac0d13d0c8ba4e30af023279
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/ferp/HkSyncOrgUserToHKServiceImpl.java
@@ -305,14 +305,15 @@
                    String doorids =deviceRole.getDoorIds();
                    if(StringUtils.isNotBlank(doorids)){
                        String[] ss = doorids.split(",");
                        try {
                            for(String s :ss){
                        for(String s :ss){
                            try {
                                Integer ts =Integer.parseInt(s);
                                 r.add(ts);
                            }catch (Exception e){
                                //脏数据不处理
                            }
                        }catch (Exception e){
                            //脏数据不处理
                        }
                    }
                }
                return  r;
@@ -382,10 +383,10 @@
            return;
        }
        List<Integer> deviceIds =new ArrayList<>();//新设备编码集合
        List<Empower> list = new ArrayList<>();//新授权记录集合
        if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)
                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
        if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO)){
//                && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){
            List<Integer> deviceIds =new ArrayList<>();//新设备编码集合
            List<Empower> list = new ArrayList<>();//新授权记录集合
            //如果用户是同步海康成功,添加带下发权限(只管理新增或者编辑的)
            List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,doorIds));
            if(deviceList == null || deviceList.size() == 0){
@@ -409,22 +410,22 @@
                deviceIds.add(deviceRole.getId());
                list.add(model);
            }
        }
        //待移除权限的设备数据授权记录(针对删除和更新丢失的权限,需要同步下发删除权限)
        empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
                .eq(Empower::getMemberId,member.getId())
                .set(Empower::getIsdeleted,Constants.ONE)
                .eq(Empower::getIsdeleted,Constants.ZERO)
                .notIn(deviceIds.size()>0,Empower::getDeviceId,deviceIds)
                .set(Empower::getSendStatus,Constants.ZERO));
        //导入新增的授权信息
        if(list.size()>0){
            //直接覆盖重复的设备权限,直接删除即可
            empowerMapper.delete(new UpdateWrapper<Empower>().lambda()
            //待移除权限的设备数据授权记录(针对删除和更新丢失的权限,需要同步下发删除权限)
            empowerMapper.update(null,new UpdateWrapper<Empower>().lambda()
                    .eq(Empower::getMemberId,member.getId())
                    .set(Empower::getIsdeleted,Constants.ONE)
                    .eq(Empower::getIsdeleted,Constants.ZERO)
                    .in(Empower::getDeviceId,deviceIds) );
            empowerMapper.insertBatchSomeColumn(list);
                    .notIn(deviceIds.size()>0,Empower::getDeviceId,deviceIds)
                    .set(Empower::getSendStatus,Constants.ZERO));
            //导入新增的授权信息
            if(list.size()>0){
                //直接覆盖重复的设备权限,直接删除即可
                empowerMapper.delete(new UpdateWrapper<Empower>().lambda()
                        .eq(Empower::getMemberId,member.getId())
                        .eq(Empower::getIsdeleted,Constants.ZERO)
                        .in(Empower::getDeviceId,deviceIds) );
                empowerMapper.insertBatchSomeColumn(list);
            }
        }
    }
    public static void dealChangeDeviceRoleEmpower( Member member ,List<Integer> addDoorIds,List<Integer> delDoorIds, DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) {
@@ -606,7 +607,7 @@
                        c.setFaceStatus(Constants.ONE);
                        //如果人脸跟你,重新下发权限数据
                        c.setRemark("人员和人脸信息同步成功"+result.getMsg());
                         dealMemberRoleEmpower(c);
                        dealMemberRoleEmpower(c);
                    }
                }
            }else{