From c438f50ae1672bbf326ccfe022ef9f9ce58b63ed Mon Sep 17 00:00:00 2001 From: mashili Date: Mon, 13 Oct 2025 12:04:46 +0800 Subject: [PATCH] =?UTF-8?q?0918=E7=94=B5=E4=BB=B7-=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E6=97=B6=E6=80=BB=E6=94=B6=E5=85=A5=E5=92=8C?= =?UTF-8?q?=E5=AE=9E=E6=97=B6=E5=BD=93=E6=97=A5=E6=94=B6=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FXXDataProcessServiceImpl.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java index 3b8491b..ff9988e 100644 --- a/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java +++ b/ems-system/src/main/java/com/xzzn/ems/service/impl/FXXDataProcessServiceImpl.java @@ -843,7 +843,7 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl currentDischargeData = currentDischargeData != null ? currentDischargeData : BigDecimal.ZERO; // 获取上次实时总收益+当日实时总收益,初始化电价 - Map revenueMap = getLastData(SITE_ID); + Map revenueMap = getRealTimeData(SITE_ID); BigDecimal totalRevenue = revenueMap.get("totalRevenue") == null ? BigDecimal.ZERO : revenueMap.get("totalRevenue"); BigDecimal dayRevenue = revenueMap.get("dayRevenue") == null ? BigDecimal.ZERO : revenueMap.get("dayRevenue"); BigDecimal price = BigDecimal.ZERO; @@ -906,12 +906,18 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl // 总收益 = 上次实时总收益+今日实时增加的收益 totalRevenue = totalRevenue.add(addRevenue); energyData.setTotalRevenue(totalRevenue); + + // 存redis便于下次取用 + String redisKey = RedisKeyConstants.FXX_REALTIME_REVENUE + SITE_ID; + Map realTimeRevenue = new HashMap<>(); + realTimeRevenue.put("totalRevenue", totalRevenue); + realTimeRevenue.put("dayRevenue",dayRevenue); + redisCache.setCacheObject(redisKey, realTimeRevenue, 1, TimeUnit.DAYS); } - private Map getLastData(String siteId) { - // dds存的是累计到昨日总收益 - String yestDate = DateUtils.getYesterdayDayString(); - String redisKey = RedisKeyConstants.FXX_REALTIME_REVENUE + siteId + "_" + yestDate; + private Map getRealTimeData(String siteId) { + // fx取实时总收益和当天实时收益 + String redisKey = RedisKeyConstants.FXX_REALTIME_REVENUE + siteId; Map realTimeRevenue = redisCache.getCacheObject(redisKey); if (realTimeRevenue == null) { realTimeRevenue = emsDailyEnergyDataMapper.getRealTimeRevenue(siteId);