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 |   76 ++++++++++++++++++++++++++++++-------
 1 files changed, 61 insertions(+), 15 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 b7319e4..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
@@ -3,16 +3,19 @@
 import cn.hutool.db.sql.Direction;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
+import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
 import com.ruoyi.integration.iotda.constant.IotConstant;
 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;
@@ -61,19 +64,22 @@
     }
 
     @Override
-    public List<UploadRealTimeMonitoringData> getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
+    public UploadRealTimeMonitoringPageData getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
         Query query = new Query();
 //        if (!values.isEmpty()){
 //            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("order_type").is(mongoChargingOrderQuery.getOrderType()));
+            query.addCriteria(Criteria.where("orderType").is(mongoChargingOrderQuery.getOrderType()));
         }
         if (mongoChargingOrderQuery.getSiteId() != null){
-            query.addCriteria(Criteria.where("site_id").is(mongoChargingOrderQuery.getSiteId()));
+            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()));
@@ -85,34 +91,58 @@
             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));
         }
 
 
 
 
 
+
+
+
+
+        long totalElements = mongoTemplate.count(query, UploadRealTimeMonitoringData.class);
+
+        // 创建带有排序的 Pageable 对象
+        Pageable pageable = PageRequest.of(
+                mongoChargingOrderQuery.getPageCurr()-1,
+                mongoChargingOrderQuery.getPageSize(),
+                Sort.by(Sort.Direction.DESC, "create_time")
+        );
+
+        // 设置分页和排序
+        query.with(pageable);
+
+        // 执行查询并获取 Page 对象
+        List<UploadRealTimeMonitoringData> page = mongoTemplate.find(query, UploadRealTimeMonitoringData.class,"upload_real_time_monitoring_data");
 
         // 设置分页
-        Pageable pageable = PageRequest.of(mongoChargingOrderQuery.getPageCurr(), mongoChargingOrderQuery.getPageSize());
-        query.with(pageable);
-        query.with(Sort.by(Sort.Direction.DESC,"create_time"));
-        List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(query, UploadRealTimeMonitoringData.class);
-        return uploadRealTimeMonitoringData;
+//        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(page);
+        return uploadRealTimeMonitoringPageData;
     }
 
     @Override
@@ -128,4 +158,20 @@
         return mongoTemplate.findOne(query, UploadRealTimeMonitoringData.class);
     }
 
+    @Override
+    public void delete(String id) {
+        UploadRealTimeMonitoringData byId = findById(id.toString());
+        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