| | |
| | | } |
| | | |
| | | public static void dealMemberRoleEmpowerDo(List<MemberCard> cards,Member member , DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) { |
| | | if(cards == null || cards.size() == 0){ |
| | | return; |
| | | } |
| | | List<Integer> doorIds = getRoleIdByParam(member,deviceRoleMapper); |
| | | if(doorIds==null || doorIds.size() == 0){ |
| | | //如果权限清空,则清空人员授权的权限数据 |
| | |
| | | .set(Empower::getSendStatus,Constants.ZERO)); |
| | | return; |
| | | } |
| | | if(StringUtils.isBlank(member.getFaceImg())){ |
| | | if((cards == null || cards.size() == 0) && StringUtils.isBlank(member.getFaceId())){ |
| | | //如果没有卡 也没有人脸 |
| | | return; |
| | | } |
| | | |
| | |
| | | empowerMapper.insertBatchSomeColumn(list); |
| | | } |
| | | } |
| | | public static void dealChangeDeviceRoleEmpower( Member member ,List<Integer> addDoorIds,List<Integer> delDoorIds, DeviceRoleMapper deviceRoleMapper, EmpowerMapper empowerMapper, DeviceMapper deviceMapper) { |
| | | if(delDoorIds!=null && delDoorIds.size()>0){ |
| | | //待移除权限的设备数据授权记录(针对删除和更新丢失的权限,需要同步下发删除权限) |
| | | 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,delDoorIds) |
| | | .set(Empower::getSendStatus,Constants.ZERO)); |
| | | } |
| | | if(addDoorIds==null || addDoorIds.size()==0){ |
| | | //待移除权限的设备数据授权记录(针对删除和更新丢失的权限,需要同步下发删除权限) |
| | | return; |
| | | } |
| | | if(StringUtils.isBlank(member.getFaceId())){ |
| | | //如果没有卡 也没有人脸 |
| | | return; |
| | | } |
| | | |
| | | List<Integer> deviceIds =new ArrayList<>();//新设备编码集合 |
| | | List<Empower> list = new ArrayList<>();//新授权记录集合 |
| | | if(Constants.equalsInteger(member.getIsdeleted(),Constants.ZERO) |
| | | && Constants.equalsObject(member.getHkStatus(),Constants.ONE)){ |
| | | //如果用户是同步海康成功,添加带下发权限(只管理新增或者编辑的) |
| | | List<Device> deviceList = deviceMapper.selectList(new QueryWrapper<Device>().lambda().in(Device::getId,addDoorIds)); |
| | | if(deviceList == null || deviceList.size() == 0){ |
| | | return; |
| | | } |
| | | for (Device deviceRole:deviceList) { |
| | | Empower model = new Empower(); |
| | | model.setCreateDate(new Date()); |
| | | model.setMemberId(member.getId()); |
| | | model.setIsdeleted(Constants.ZERO); |
| | | model.setDeviceId(deviceRole.getId()); |
| | | model.setSendStatus(Constants.ZERO); |
| | | model.setSendInfo("待同步安防平台"); |
| | | model.setRemark("待同步安防平台"); |
| | | model.setStartTime(member.getStartTime()); |
| | | model.setEndTime(member.getEndTime()); |
| | | //默认给于虚拟卡 |
| | | model.setCardNos(Constants.VIRTUAL_CARD_INDEX+member.getId()); |
| | | model.setSendType(Constants.ZERO); |
| | | //标记最新的授权设备编码集合 |
| | | deviceIds.add(deviceRole.getId()); |
| | | list.add(model); |
| | | } |
| | | } |
| | | //导入新增的授权信息 |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 对人员带开卡数据进行自动开卡操作 |
| | |
| | | private List<MemberCard> dealMemberHkCard(Member member) { |
| | | List<MemberCard> memberCards = memberCardMapper.selectList(new QueryWrapper<MemberCard>().lambda() |
| | | .eq(MemberCard::getMemberId,member.getId()) |
| | | // .eq(MemberCard::getType,Constants.TWO) |
| | | // .eq(MemberCard::getType,Constants.TWO) |
| | | .eq(MemberCard::getHkStatus,Constants.ZERO) ); |
| | | if(memberCards==null || memberCards.size()==0){ |
| | | //没有带处理的数据,直接跳过 |
| | |
| | | //处理新增数据 |
| | | BaseResponse<List<CardInfoResponse>> result = HKService.cardBingding(param); |
| | | if(result !=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) ){ |
| | | |
| | | // 0x04a12022","msg":"cardNo [1223382985] is exists |
| | | if(result.getData()!=null ){ |
| | | for(CardInfoResponse r : result.getData()){ |
| | | doneCodes.add(r.getCardNo()); |