From acdaff48183c4c50481668e3c85e6a64a535c5aa Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 30 十月 2024 17:46:11 +0800 Subject: [PATCH] 修改 --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java | 3 +++ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java | 36 +++++++++++++++++++++++++++++++----- ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java | 4 +++- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java | 2 +- 4 files changed, 38 insertions(+), 7 deletions(-) diff --git a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java index fe393ff..342055e 100644 --- a/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java +++ b/ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/BaseModel.java @@ -1,5 +1,6 @@ package com.ruoyi.integration.api.model; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.util.Date; @@ -10,7 +11,8 @@ */ @Data public class BaseModel { + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date last_time = new Date(); - + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date create_time = new Date(); } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java index 2463e5e..ed002bf 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/UploadRealTimeMonitoringDataService.java @@ -6,6 +6,7 @@ import com.ruoyi.common.core.dto.MongoChargingOrderQuery; import java.text.ParseException; +import java.util.Date; import java.util.List; public interface UploadRealTimeMonitoringDataService extends BaseService<UploadRealTimeMonitoringData> { @@ -26,4 +27,6 @@ UploadRealTimeMonitoringData getLastDataById(String transaction_serial_number); void delete(String id); + + void updateById(String id); } 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..529427e 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,7 +70,7 @@ // 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())); @@ -112,17 +114,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 +161,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); + } + } diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java index 07b9fd8..4a4cb95 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/ChargingMessageListener.java @@ -201,7 +201,7 @@ uploadRealTimeMonitoringData.setElectrovalence_all(accountingStrategyDetail.getElectrovalence()); uploadRealTimeMonitoringData.setService_charge(accountingStrategyDetail.getServiceCharge()); if (Objects.nonNull(data)) { - data.setLast_time(new Date()); + uploadRealTimeMonitoringDataService.updateById(data.getId()); uploadRealTimeMonitoringData.setPeriod_electric_price(uploadRealTimeMonitoringDataMessage.getPaid_amount().subtract(data.getPaid_amount())); uploadRealTimeMonitoringData.setPeriod_charging_degree(uploadRealTimeMonitoringDataMessage.getCharging_degree().subtract(data.getCharging_degree())); uploadRealTimeMonitoringData.setPeriod_service_price(uploadRealTimeMonitoringDataMessage.getCharging_degree().multiply(accountingStrategyDetail.getServiceCharge()).setScale(4, RoundingMode.HALF_UP)); -- Gitblit v1.7.1