From 955ff3b528ed9e47efa9c1d9a3a7f61c80830695 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 01 九月 2026 15:04:49 +0800
Subject: [PATCH] feat: add VIN order period counts
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVinChargingOrderServiceImpl.java | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVinChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVinChargingOrderServiceImpl.java
index d118a24..ab59f2e 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVinChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TVinChargingOrderServiceImpl.java
@@ -152,6 +152,17 @@
if (list == null || list.isEmpty()) {
return;
}
+ List<Long> orderIds = list.stream().map(ChargingOrderVO::getId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+ Map<Long, Integer> periodCounts = new HashMap<>();
+ if (!orderIds.isEmpty()) {
+ for (Map<String, Object> item : baseMapper.countAccountingStrategies(orderIds)) {
+ Number chargingOrderId = (Number) item.get("chargingOrderId");
+ Number periodCount = (Number) item.get("periodCount");
+ if (chargingOrderId != null && periodCount != null) {
+ periodCounts.put(chargingOrderId.longValue(), periodCount.intValue());
+ }
+ }
+ }
List<Integer> siteIds = list.stream().map(ChargingOrderVO::getSiteId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
List<Integer> gunIds = list.stream().map(ChargingOrderVO::getChargingGunId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
Map<Integer, Site> sites = siteIds.isEmpty() ? Collections.emptyMap()
@@ -168,12 +179,7 @@
if (item.getStartTime() != null && item.getEndTime() != null) {
item.setChargingSecond(ChronoUnit.SECONDS.between(item.getStartTime(), item.getEndTime()));
}
- UploadRealTimeMonitoringData data = monitoringDataService.getLastDataById(item.getCode());
- if (data != null) {
- item.setChargeCurrent(data.getOutput_current());
- item.setChargeVoltage(data.getOutput_voltage());
- item.setChargePower(data.getPower());
- }
+ item.setCount(periodCounts.getOrDefault(item.getId(), 0));
item.setPlatformIncome(BigDecimal.ZERO);
item.setPartnerIncome(BigDecimal.ZERO);
}
--
Gitblit v1.7.1