对象内容为:
{
"id": "7218116540577615872",
"createdAt": "2024-07-25 11:55:45",
"createdBy": null,
"lastModifiedAt": "2024-07-25 11:55:45",
"monitorName": "Sample Monitor",
"dataBatch": {
"id": "7215579449268375552",
"createdAt": null,
"createdBy": null,
"lastModifiedAt": null,
"dataBatchName": "数据批次3",
"mineVo": null
},
"getDataTime": "2024-07-18 12:00:00 ~ 2024-07-18 12:00:00",
"bpj": "111",
"monitorResult": "NORMAL",
"showState": true,
"countState": "QUEUING"
}
对getDataTime进行排序,将其拆分成 开始时间 和 结束时间
排序代码:
/**
* 按照采集时间进行排序,将采集时间分成开始时间和结束时间后进行降序排序,开始时间相等则比较结束时间
* @param vos 查询结果
* @return 排序后结果
*/
public List<StepVo> sortByGetDateTime(List<StepVo> vos) {
Collections.sort(vos, new Comparator<StepVo>() {
@Override
public int compare(StepVo o1, StepVo o2) {
// 按照开始时间降序排序
String[] range1 = o1.getGetDataTime().split("~");
String[] range2 = o2.getGetDataTime().split("~");
String startDate1 = range1[0];
String startDate2 = range2[0];
if (startDate1.equals(startDate2)) {
// 如果开始时间相同,则比较结束时间
String endDate1 = range1[1];
String endDate2 = range2[1];
return endDate2.compareTo(endDate1); // 结束时间降序
} else {
return startDate2.compareTo(startDate1); // 开始时间降序
}
}
});
return vos;
}