Commit 967dc111 by gdj

限制机场集群设备列表查询条件,增加团队限制。

parent b1751ea3
......@@ -1483,15 +1483,53 @@ public class DeviceServiceImpl extends ServiceImpl<IDeviceMapper, DeviceEntity>
@Override
public PaginationData<DeviceDTO> getDockAndDrone(String workspaceId ,Long page, Long pageSize) {
LambdaQueryWrapper<DeviceEntity> wrapper = new LambdaQueryWrapper<DeviceEntity>()
LambdaQueryWrapper<DeviceEntity> wrapper = new LambdaQueryWrapper<DeviceEntity>();
// 假如是超级管理员 查询全部设备
if (aboveSysAdminRole()) {
.eq(DeviceEntity::getWorkspaceId, workspaceId);
} else {
wrapper.eq(DeviceEntity::getWorkspaceId, workspaceId);
}
// if (StringUtils.hasText(deviceName)) {
// wrapper.like(DeviceEntity::getDeviceName, deviceName);
// }
wrapper.in(DeviceEntity::getDomain, DeviceDomainEnum.DOCK.getDomain(), DeviceDomainEnum.DRONE.getDomain());
// 假如不是超级管理员 只能查询自己所属团队的设备
if (aboveSysAdminRole()) {
} else {
// 查询自己团队
LambdaQueryWrapper<UserOrgEntity> userOrgQueryWrapper = new LambdaQueryWrapper<>();
userOrgQueryWrapper.eq(UserOrgEntity::getUserId, getUserId());
userOrgQueryWrapper.eq(UserOrgEntity::getWorkspaceId, workspaceId);
List<UserOrgEntity> userOrgEntities = userOrgService.list(userOrgQueryWrapper);
if (CollectionUtils.isEmpty(userOrgEntities)) {
return new PaginationData<>(new ArrayList<>(), new Pagination(page, pageSize, 0));
}
List<String> userOrgIdList = userOrgEntities.stream().map(UserOrgEntity::getOrgId).distinct().collect(Collectors.toList());
if (CollectionUtils.isEmpty(userOrgIdList)) {
return new PaginationData<>(new ArrayList<>(), new Pagination(page, pageSize, 0));
}
// 查询 团队的设备
LambdaQueryWrapper<DeviceOrgEntity> deviceOrgQueryWrapper = new LambdaQueryWrapper<>();
deviceOrgQueryWrapper.eq(DeviceOrgEntity::getWorkspaceId, workspaceId);
deviceOrgQueryWrapper.in(DeviceOrgEntity::getOrgId, userOrgIdList);
List<DeviceOrgEntity> deviceOrgEntities = deviceOrgService.list(deviceOrgQueryWrapper);
if (CollectionUtils.isEmpty(deviceOrgEntities)) {
return new PaginationData<>(new ArrayList<>(), new Pagination(page, pageSize, 0));
}
List<String> deviceSnList = deviceOrgEntities.stream().map(DeviceOrgEntity::getDeviceSn).distinct().collect(Collectors.toList());
if (CollectionUtils.isEmpty(deviceSnList)) {
return new PaginationData<>(new ArrayList<>(), new Pagination(page, pageSize, 0));
}
wrapper.in(DeviceEntity::getDeviceSn, deviceSnList);
}
Page<DeviceEntity> pagination = mapper.selectPage(new Page<>(page, pageSize), wrapper );
List<DeviceDTO> devicesList = pagination.getRecords().stream().map(this::deviceEntityConvertToDTO)
.peek(device -> {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment