From e60953717efaed6f659a9a9d0da795731509eaa6 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期六, 26 十月 2024 17:56:00 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java | 74 +++++++++++++++++++++++++++++++-----
1 files changed, 63 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 cbed3aa..42fbedb 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
@@ -1,10 +1,12 @@
package com.ruoyi.integration.mongodb.service.impl;
-import com.ruoyi.common.core.domain.R;
+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.PageRequest;
import org.springframework.data.domain.Pageable;
@@ -14,8 +16,10 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.List;
-import java.util.Set;
@Service
public class UploadRealTimeMonitoringDataServiceImpl implements UploadRealTimeMonitoringDataService {
@@ -52,25 +56,73 @@
query.addCriteria(Criteria.where("transaction_serial_number").is(code));
}
List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = mongoTemplate.find(
- query.with(Sort.by("create_time"))
+ query.with(Sort.by(Sort.Order.desc("create_time")))
, UploadRealTimeMonitoringData.class);
return uploadRealTimeMonitoringData;
}
@Override
- public List<UploadRealTimeMonitoringData> getDataAll(Set<String> values, Integer page, Integer size) {
+ public UploadRealTimeMonitoringPageData getDataAll(MongoChargingOrderQuery mongoChargingOrderQuery) throws ParseException {
Query query = new Query();
- if (!values.isEmpty()){
- query.addCriteria(Criteria.where("transaction_serial_number").in(values));
+// 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" 表示不区分大小写
}
- // 设置分页
- Pageable pageable = PageRequest.of(page, size);
- query.with(pageable);
+ 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.getChargingPileCode() != null && !mongoChargingOrderQuery.getChargingPileCode().isEmpty()) {
+ query.addCriteria(Criteria.where("charging_pile_code").is(mongoChargingOrderQuery.getChargingPileCode()));
+ }
+ if (mongoChargingOrderQuery.getChargingGunCode() != null && !mongoChargingOrderQuery.getChargingGunCode().isEmpty()){
+ query.addCriteria(Criteria.where("charging_gun_code").is(mongoChargingOrderQuery.getChargingGunCode()));
+ }
+ if (mongoChargingOrderQuery.getStatus() != null){
+ query.addCriteria(Criteria.where("status").is(mongoChargingOrderQuery.getStatus()));
+ }
+ if (mongoChargingOrderQuery.getStartTime() != null) {
+ String[] split = mongoChargingOrderQuery.getStartTime().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));
+ }
+
+ if (mongoChargingOrderQuery.getEndTime() != null && mongoChargingOrderQuery.getEndTime() != null) {
+ String[] split = mongoChargingOrderQuery.getEndTime().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));
+ }
+
+
+
+
+
+
+ // 设置分页
+ 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.with(Sort.by("create_time"))
+ query
, UploadRealTimeMonitoringData.class);
- return uploadRealTimeMonitoringData;
+
+
+ long totalElements = mongoTemplate.count(query, UploadRealTimeMonitoringData.class);
+
+ UploadRealTimeMonitoringPageData uploadRealTimeMonitoringPageData = new UploadRealTimeMonitoringPageData();
+ uploadRealTimeMonitoringPageData.setCount(totalElements);
+ uploadRealTimeMonitoringPageData.setRecords(uploadRealTimeMonitoringData);
+ return uploadRealTimeMonitoringPageData;
}
@Override
--
Gitblit v1.7.1