业务要求返回信息中展示所有的异常信息:
private void checkParams(DevicesTelemetryToExcelInfoDTO params) {
List<String> warnList = new ArrayList<>();
Set<String> devicesUuidSet = new HashSet<>();
params.getDevicesTelemetryToExcelDTOList().forEach(item -> {
if (item.getEndTime() - item.getStartTime() < 0) {
warnList.add("设备:" + item.getDeviceUuid() + ",所选时间范围有误!");
}
//根据业务要求,时间范围不超过十天
if (item.getEndTime() - item.getStartTime() > 10 * 1000 * 24 * 60 * 60) {
String warnInfo = "设备:" + item.getDeviceUuid() + ",所选时间范围不可超过10天!";
warnList.add(warnInfo);
}
devicesUuidSet.add(item.getDeviceUuid());
});
if (devicesUuidSet.size() != params.getDevicesTelemetryToExcelDTOList().size()) {
warnList.add("设备不可重复选择!");
}
if (!CollectionUtils.isEmpty(warnList)) {
throw new RuntimeException(warnList.toString());
}
}
报错信息: