|
|
@@ -391,6 +391,9 @@ public class GatekeeperOrderService {
|
|
|
* @param gatekeeperOrderPageResult
|
|
|
*/
|
|
|
private void sort(GatekeeperOrderQueryParam param, List<GatekeeperOrderResp> gatekeeperOrderPageResult) {
|
|
|
+ if (CollectionUtils.isEmpty(gatekeeperOrderPageResult)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
// 根据状态进行排序
|
|
|
switch (param.getStatus()) {
|
|
|
case 1:
|
|
|
@@ -399,8 +402,18 @@ public class GatekeeperOrderService {
|
|
|
break;
|
|
|
case 2:
|
|
|
// 待离场:先按照待离场展示,后按照空载待离场和已放行未离场展示,在按照状态变更时间升序
|
|
|
- gatekeeperOrderPageResult.sort(Comparator.comparing((GatekeeperOrderResp order) -> order.getStatus() != 10)
|
|
|
- .thenComparing(GatekeeperOrderResp::getUpdateTime));
|
|
|
+ gatekeeperOrderPageResult.sort(
|
|
|
+ Comparator.comparing((GatekeeperOrderResp order) -> {
|
|
|
+ // 状态为空时,也排到后面
|
|
|
+ return order.getStatus() == null || order.getStatus() != 10;
|
|
|
+ })
|
|
|
+ // 时间为空的排最后
|
|
|
+ .thenComparing(
|
|
|
+ GatekeeperOrderResp::getUpdateTime,
|
|
|
+ Comparator.nullsLast(Comparator.naturalOrder())
|
|
|
+ )
|
|
|
+ );
|
|
|
+ break;
|
|
|
case 3:
|
|
|
// 场内车辆: 车辆进场时间升序
|
|
|
gatekeeperOrderPageResult.sort(Comparator.comparing(GatekeeperOrderResp::getIntoTime));
|