GetMappingqueryBackupsByAdminIdByPage public ResultObject queryBackupsByAdminIdByPageQueryRequest queryRequest Admin admin HttpServletRequest request 权限验证 String token = String reque
<p>@GetMapping("/queryBackupsByAdminIdByPage")
public Result<Object> queryBackupsByAdminIdByPage(QueryRequest queryRequest, Admin admin, HttpServletRequest request) {</p>
<pre><code>//权限验证
String token = (String) request.getAttribute("claims_admin");
if (token == null || "".equals(token)) {
throw new RuntimeException("权限不足!");
}
List<Backup> backups = backupService.queryBackupsByAdminId(admin.getAdminId());
List<BackupDto> backupDtoList = new ArrayList<>();
for (Backup backup : backups) {
BackupDto backupDto = new BackupDto();
BeanUtils.copyProperties(backup, backupDto);//数据拷贝
backupDto.setIsRecover(true);
if (!StringUtils.isEmpty(backup.getDeleteMessage())) {
JSONObject jsonObject = JSON.parseObject(backup.getDeleteMessage());
DeviceEntity baseDevice = null;
DeviceEntity mobileDevice = null;
List<DeviceEntity> mobileDevices = null;
if (jsonObject.get("baseDevice") != null) {
baseDevice = JsonUtils.jsonToPojo(jsonObject.get("baseDevice").toString(), DeviceEntity.class);
backupDto.setBaseDevice(baseDevice);
}
if (jsonObject.get("mobileDevice") != null) {
mobileDevice = JsonUtils.jsonToPojo(jsonObject.get("mobileDevice").toString(), DeviceEntity.class);
backupDto.setMobileDevice(mobileDevice);
}
if (jsonObject.get("mobileDevices") != null) {
mobileDevices = JsonUtils.jsonToList(jsonObject.get("mobileDevices").toString(), DeviceEntity.class);
backupDto.setMobileDevices(mobileDevices);
}
if (baseDevice != null || mobileDevice != null || (mobileDevices != null && !mobileDevices.isEmpty())) {
checkRecoverStatus(backupDto, baseDevice, mobileDevice, mobileDevices);
}
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String deleteDate = sdf.format(backup.getDeleteDate());
backupDto.setDate(deleteDate);
backupDtoList.add(backupDto);
}
Collections.reverse(backupDtoList);//把集合顺序逆向
List<BackupDto> backupDtos = backupDtoList.stream().skip((long) (queryRequest.getPageNum() - 1) * queryRequest.getPageSize()).limit(queryRequest.getPageSize()).collect(Collectors.toList());
Map<String, Object> map = new HashMap<>();
map.put("backups", backupDtos);
map.put("total", backupDtoList.size());
log.info("条件分页查询基站成功!");
return new Result<>(ResultCode.SUCCESS, map);
</code></pre>
<p>}</p>
<p>private void checkRecoverStatus(BackupDto backupDto, DeviceEntity baseDevice, DeviceEntity mobileDevice, List<DeviceEntity> mobileDevices) {
if (baseDevice != null) {
DeviceEntity oldBaseDevice = deviceEntityService.queryOneDeviceEntityByUniqueIDByAll(baseDevice.getUniqueId());
if (oldBaseDevice.getBindingId() != -1) {
backupDto.setIsRecover(false);
}
}</p>
<pre><code>if (mobileDevice != null) {
DeviceEntity oldMobileDevice = deviceEntityService.queryOneDeviceEntityByUniqueIDByAll(mobileDevice.getUniqueId());
if (oldMobileDevice.getBindingId() != -1) {
backupDto.setIsRecover(false);
}
}
if (mobileDevices != null && !mobileDevices.isEmpty()) {
for (DeviceEntity mobileDevice1 : mobileDevices) {
DeviceEntity oldMobileDevice = deviceEntityService.queryOneDeviceEntityByUniqueIDByAll(mobileDevice1.getUniqueId());
if (oldMobileDevice.getBindingId() != -1) {
backupDto.setIsRecover(false);
}
}
}
</code></pre>
<p>}</p>
原文地址: https://www.cveoy.top/t/topic/i7dm 著作权归作者所有。请勿转载和采集!