Browse Source

针对设备状态排序

lihui007 3 years ago
parent
commit
d6760b1503

+ 11 - 4
sms_water/src/main/java/com/huaxu/service/impl/ReportWaterPumpStateServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huaxu.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.huaxu.dao.ReportWaterPumpStateMapper;
 import com.huaxu.dto.DeviceDto;
 import com.huaxu.dto.watePump.ReprotWaterPumpDto;
@@ -13,9 +14,7 @@ import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Service
 @Log4j2
@@ -42,6 +41,14 @@ public class ReportWaterPumpStateServiceImpl implements ReportWaterPumpStateServ
         // queryDto.setDay(days);
         queryDto.setBeginTime(DatesUtil.formatDate(DatesUtil.addDayOfDate(new Date(), -(days-1)),"yyyy-MM-dd") + " 00:00:00");
         queryDto.setSceneId(sceneId);
-        return reportWaterPumpStateMapper.findReportWaterPumpStateList(queryDto);
+        List<ReprotWaterPumpDto>  result = reportWaterPumpStateMapper.findReportWaterPumpStateList(queryDto);
+        if (CollectionUtil.isEmpty(result)) {
+            return result;
+        }
+        Comparator<ReprotWaterPumpDto> byYear  = Comparator.comparing(ReprotWaterPumpDto::getYear);
+        Comparator<ReprotWaterPumpDto> byMonth = Comparator.comparing(ReprotWaterPumpDto::getMonth);
+        Comparator<ReprotWaterPumpDto> byDay   = Comparator.comparing(ReprotWaterPumpDto::getDay);
+        Collections.sort(result, byYear.thenComparing(byMonth.thenComparing(byDay)));
+        return result;
     }
 }