From 3244b550596e0330031b3f4547356927df83b0ad Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 19 五月 2025 11:48:35 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
index c23a6a6..41ff351 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
@@ -8,12 +8,14 @@
 import com.ruoyi.integration.mongodb.service.UploadRealTimeMonitoringDataService;
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.mongodb.core.MongoTemplate;
 import org.springframework.data.mongodb.core.query.Criteria;
 import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.data.mongodb.core.query.Update;
 import org.springframework.stereotype.Service;
 
 import java.text.ParseException;
@@ -68,13 +70,16 @@
 //            query.addCriteria(Criteria.where("transaction_serial_number").in(values));
 //        }
         if (mongoChargingOrderQuery.getCode() != null && !mongoChargingOrderQuery.getCode().isEmpty()) {
-            query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(), "i")); // "i" 表示不区分大小写
+            query.addCriteria(Criteria.where("transaction_serial_number").regex(mongoChargingOrderQuery.getCode(),"i")); // "i" 表示不区分大小写
         }
         if (mongoChargingOrderQuery.getOrderType() !=null){
             query.addCriteria(Criteria.where("orderType").is(mongoChargingOrderQuery.getOrderType()));
         }
         if (mongoChargingOrderQuery.getSiteId() != null){
             query.addCriteria(Criteria.where("siteId").is(mongoChargingOrderQuery.getSiteId()));
+        }
+        if (!mongoChargingOrderQuery.getSiteIds().isEmpty()){
+            query.addCriteria(Criteria.where("siteId").in(mongoChargingOrderQuery.getSiteIds()));
         }
         if (mongoChargingOrderQuery.getChargingPileCode() != null && !mongoChargingOrderQuery.getChargingPileCode().isEmpty()) {
             query.addCriteria(Criteria.where("charging_pile_code").is(mongoChargingOrderQuery.getChargingPileCode()));
@@ -86,21 +91,21 @@
             query.addCriteria(Criteria.where("status").is(mongoChargingOrderQuery.getStatus()));
         }
 
-        if (mongoChargingOrderQuery.getStartTime() != null) {
-            String[] split = mongoChargingOrderQuery.getStartTime().split(" - ");
+        if (mongoChargingOrderQuery.getCreateTime() != null) {
+            String[] split = mongoChargingOrderQuery.getCreateTime().split(" - ");
 
             SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             Date start = dateFormat.parse(split[0]);
             Date end = dateFormat.parse(split[1]);
-            query.addCriteria(Criteria.where("startTime").gte(start).lt(end));
+            query.addCriteria(Criteria.where("create_time").gte(start).lt(end));
         }
 
-        if (mongoChargingOrderQuery.getEndTime() != null && mongoChargingOrderQuery.getEndTime() != null) {
-            String[] split = mongoChargingOrderQuery.getEndTime().split(" - ");
+        if (mongoChargingOrderQuery.getLastTime() != null && mongoChargingOrderQuery.getLastTime() != null) {
+            String[] split = mongoChargingOrderQuery.getLastTime().split(" - ");
             SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             Date start = dateFormat.parse(split[0]);
             Date end = dateFormat.parse(split[1]);
-            query.addCriteria(Criteria.where("lastTime").gte(start).lt(end));
+            query.addCriteria(Criteria.where("last_time").gte(start).lt(end));
         }
 
 
@@ -112,17 +117,31 @@
 
 
         long totalElements = mongoTemplate.count(query, UploadRealTimeMonitoringData.class);
-        // 设置分页
-        Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageCurr(), mongoChargingOrderQuery.getPageSize());
+
+        // 创建带有排序的 Pageable 对象
+        Pageable pageable = PageRequest.of(
+                mongoChargingOrderQuery.getPageCurr()-1,
+                mongoChargingOrderQuery.getPageSize(),
+                Sort.by(Sort.Direction.DESC, "create_time")
+        );
+
+        // 设置分页和排序
         query.with(pageable);
-        query.with(Sort.by(Sort.Direction.DESC,"create_time"));
+
+        // 执行查询并获取 Page 对象
+        List<UploadRealTimeMonitoringData> page = mongoTemplate.find(query, UploadRealTimeMonitoringData.class,"upload_real_time_monitoring_data");
+
+        // 设置分页
+//        Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageSize()*(mongoChargingOrderQuery.getPageCurr()-1), mongoChargingOrderQuery.getPageSize());
+//        query.with(pageable);
+//        query.with(Sort.by(Sort.Direction.DESC,"create_time"));
         List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
                 query
                 , UploadRealTimeMonitoringData.class);
 
         UploadRealTimeMonitoringPageData uploadRealTimeMonitoringPageData = new UploadRealTimeMonitoringPageData();
         uploadRealTimeMonitoringPageData.setCount(totalElements);
-        uploadRealTimeMonitoringPageData.setRecords(uploadRealTimeMonitoringData);
+        uploadRealTimeMonitoringPageData.setRecords(page);
         return uploadRealTimeMonitoringPageData;
     }
 
@@ -145,4 +164,14 @@
         mongoTemplate.remove(byId);
     }
 
+    @Override
+    public void updateById(String id) {
+        // 创建查询条件
+        Query query = new Query(Criteria.where("_id").is(id));
+        // 创建更新对象
+        Update update = new Update().set("last_time", new Date());
+        // 执行更新操作
+        mongoTemplate.updateFirst(query, update, UploadRealTimeMonitoringData.class);
+    }
+
 }

--
Gitblit v1.7.1