k94314517
2024-03-21 68ae0e6a2dc077d8b85187ee3dbee4b87a6c9b90
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/DeviceRoleServiceImpl.java
@@ -163,6 +163,56 @@
            tt.start();
       }
    }
    @Override
    public  void updateMemberRole(DeviceRole deviceRole) {
        deviceRole.setType("2");
        deviceRole.setIsdeleted(Constants.ZERO);
        List<DeviceRole> list =findList(deviceRole);
        if(list == null || list.size()==0){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        for(DeviceRole model :list){
            updateMemberRoleDO(model);
        }
    }
    public  void updateMemberRoleDO(DeviceRole model) {
        if(model.getDoorIds()  == null){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        String[] newIds =StringUtils.defaultString(model.getDoorIds()).split(",");
        List<Integer>  allids = getChangeIdsByArray(new String[]{},newIds);//最新设备
        List<MemberRole> memberRoleList = memberRoleMapper.selectList(new QueryWrapper<MemberRole>().lambda()
                .eq(MemberRole::getRoleId,model.getId())
                .eq(MemberRole::getIsdeleted,Constants.ZERO)
        );
        if(memberRoleList!=null && memberRoleList.size()>0) {
            int num =1;
            for (MemberRole memberRole : memberRoleList) {
                Member member = memberMapper.selectById(memberRole.getMemberId());
                if(member==null || member.getIsdeleted().equals(Constants.ONE)){
                    continue;
                }
                List<Integer>  addIds = new ArrayList<>();
                for(Integer did : allids){
                    Empower empower = empowerMapper.selectOne(new QueryWrapper<Empower>().lambda()
                            .eq(Empower::getMemberId,member.getId())
                            .eq(Empower::getDeviceId,did )
                            .orderByDesc(Empower::getId)
                            .last("limit 1"));
                    if(empower ==null || Constants.equalsInteger(empower.getIsdeleted(),Constants.ONE)){
                        addIds.add(did);
                    }
                }
                try {
                    HkSyncOrgUserToHKServiceImpl.dealChangeDeviceRoleEmpower(member,addIds,null,deviceRoleMapper,empowerMapper,deviceMapper);
                }catch (Exception e){
                    e.printStackTrace();
                }
                System.out.println("正在处理【"+model.getName()+"】======门禁数据【"+addIds.size()+"】====进度:【"+num+"|"+memberRoleList.size()+"】");
                num ++;
            }
        }
    }
    /**
     * 更新该权限下相关的人员最新全新下发
@@ -326,6 +376,7 @@
        QueryWrapper<DeviceRole> queryWrapper = new QueryWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        queryWrapper.select("*,(select count(1) from member_role b where b.isdeleted=0 and b.role_id=device_role.id) as memberNum");
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(DeviceRole::getId, pageWrap.getModel().getId());
        }
@@ -390,13 +441,13 @@
        queryWrapper.lambda().orderByAsc( DeviceRole::getName);
        IPage<DeviceRole> newPage = deviceRoleMapper.selectPage(page, queryWrapper);
        if(null != newPage && newPage.getRecords().size() > 0) {
            List<DeviceRole> deviceRoleList = newPage.getRecords();
            for (DeviceRole dto:deviceRoleList) {
          List<DeviceRole> deviceRoleList = newPage.getRecords();
          /*    for (DeviceRole dto:deviceRoleList) {
                Member member = new Member();
                member.setIsdeleted(Constants.ZERO);
                member.setRoleIdParam("["+dto.getId()+"]");
                dto.setMemberNum( memberMapper.selectCount(new QueryWrapper<>(member)));
            }
            }*/
            newPage.setRecords(deviceRoleList);
        }
        return PageData.from(newPage);