0918电价-站点的实时总收入和实时当日收入

This commit is contained in:
2025-10-13 12:04:46 +08:00
parent eed6f839f6
commit c438f50ae1

View File

@ -843,7 +843,7 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
currentDischargeData = currentDischargeData != null ? currentDischargeData : BigDecimal.ZERO; currentDischargeData = currentDischargeData != null ? currentDischargeData : BigDecimal.ZERO;
// 获取上次实时总收益+当日实时总收益,初始化电价 // 获取上次实时总收益+当日实时总收益,初始化电价
Map<String, BigDecimal> revenueMap = getLastData(SITE_ID); Map<String, BigDecimal> revenueMap = getRealTimeData(SITE_ID);
BigDecimal totalRevenue = revenueMap.get("totalRevenue") == null ? BigDecimal.ZERO : revenueMap.get("totalRevenue"); BigDecimal totalRevenue = revenueMap.get("totalRevenue") == null ? BigDecimal.ZERO : revenueMap.get("totalRevenue");
BigDecimal dayRevenue = revenueMap.get("dayRevenue") == null ? BigDecimal.ZERO : revenueMap.get("dayRevenue"); BigDecimal dayRevenue = revenueMap.get("dayRevenue") == null ? BigDecimal.ZERO : revenueMap.get("dayRevenue");
BigDecimal price = BigDecimal.ZERO; BigDecimal price = BigDecimal.ZERO;
@ -906,12 +906,18 @@ public class FXXDataProcessServiceImpl extends AbstractBatteryDataProcessor impl
// 总收益 = 上次实时总收益+今日实时增加的收益 // 总收益 = 上次实时总收益+今日实时增加的收益
totalRevenue = totalRevenue.add(addRevenue); totalRevenue = totalRevenue.add(addRevenue);
energyData.setTotalRevenue(totalRevenue); energyData.setTotalRevenue(totalRevenue);
// 存redis便于下次取用
String redisKey = RedisKeyConstants.FXX_REALTIME_REVENUE + SITE_ID;
Map<String, BigDecimal> realTimeRevenue = new HashMap<>();
realTimeRevenue.put("totalRevenue", totalRevenue);
realTimeRevenue.put("dayRevenue",dayRevenue);
redisCache.setCacheObject(redisKey, realTimeRevenue, 1, TimeUnit.DAYS);
} }
private Map<String, BigDecimal> getLastData(String siteId) { private Map<String, BigDecimal> getRealTimeData(String siteId) {
// dds存的是累计到昨日总收益 // fx取实时总收益和当天实时收益
String yestDate = DateUtils.getYesterdayDayString(); String redisKey = RedisKeyConstants.FXX_REALTIME_REVENUE + siteId;
String redisKey = RedisKeyConstants.FXX_REALTIME_REVENUE + siteId + "_" + yestDate;
Map<String, BigDecimal> realTimeRevenue = redisCache.getCacheObject(redisKey); Map<String, BigDecimal> realTimeRevenue = redisCache.getCacheObject(redisKey);
if (realTimeRevenue == null) { if (realTimeRevenue == null) {
realTimeRevenue = emsDailyEnergyDataMapper.getRealTimeRevenue(siteId); realTimeRevenue = emsDailyEnergyDataMapper.getRealTimeRevenue(siteId);