From 855967d08355b4bd246479e04e758168c7616138 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 30 Oct 2025 15:06:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BB=8A=E6=97=A5=E6=94=B6?= =?UTF-8?q?=E7=9B=8A=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resp/iargeScreen/AnnualOverviewResp.java | 2 ++ .../impl/IargeScreenShowServiceImpl.java | 30 ++++++++++++++----- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/business-service-api/src/main/java/com/ho/business/vo/resp/iargeScreen/AnnualOverviewResp.java b/business-service-api/src/main/java/com/ho/business/vo/resp/iargeScreen/AnnualOverviewResp.java index 0efe325..ba57c65 100644 --- a/business-service-api/src/main/java/com/ho/business/vo/resp/iargeScreen/AnnualOverviewResp.java +++ b/business-service-api/src/main/java/com/ho/business/vo/resp/iargeScreen/AnnualOverviewResp.java @@ -31,6 +31,8 @@ public class AnnualOverviewResp { @ApiModelProperty(value = "年总充") BigDecimal yearCharge; + @ApiModelProperty(value = "今日收益") + BigDecimal todayProfit; @ApiModelProperty(value = "昨日收益") BigDecimal yestProfit; diff --git a/business-service-dao/src/main/java/com/ho/business/service/impl/IargeScreenShowServiceImpl.java b/business-service-dao/src/main/java/com/ho/business/service/impl/IargeScreenShowServiceImpl.java index 303f53c..64fcd54 100644 --- a/business-service-dao/src/main/java/com/ho/business/service/impl/IargeScreenShowServiceImpl.java +++ b/business-service-dao/src/main/java/com/ho/business/service/impl/IargeScreenShowServiceImpl.java @@ -282,6 +282,7 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService { annualOverviewResp.setYestProfit(overviewProfit.getYestProfit()==null?null:overviewProfit.getYestProfit().multiply(new BigDecimal("10000"))); annualOverviewResp.setYearProfit(overviewProfit.getYearProfit()==null?null:overviewProfit.getYearProfit().multiply(new BigDecimal("10000"))); annualOverviewResp.setTotalProfit(overviewProfit.getTotalProfit()==null?null:overviewProfit.getTotalProfit().multiply(new BigDecimal("10000"))); + annualOverviewResp.setTodayProfit(overviewProfit.getTodayProfit()==null?null:overviewProfit.getTodayProfit().multiply(new BigDecimal("10000"))); //时间当年 DateTime begin = DateUtil.beginOfYear(new Date()); String beginString = DateUtil.format(begin, CommonConstant.DATE_YMD); @@ -1532,7 +1533,7 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService { if(beginDate == null){ return annualOverviewResp; } - Date date = DateUtil.yesterday(); + Date date = DateUtil.date(); Date startDate = DateUtil.beginOfYear(beginDate); Date endDate = DateUtil.endOfDay(date); String begin = DateUtil.format(startDate, CommonConstant.DATE_YMD); @@ -1546,6 +1547,7 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService { profitList.add(dayProfitType); } } + //计算总收益 Map> dayMap = profitList.stream().collect(Collectors.groupingBy(DayProfitType::getDay)); List yearProfitCurve = new ArrayList<>(); getAnnualOverviewResp(yearProfitCurve, dateTimes, CommonConstant.DATE_Y, dayMap); @@ -1554,6 +1556,7 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService { yearProfit = yearProfit.add(chartValue.getProfit()); } annualOverviewResp.setTotalProfit(yearProfit); + //计算年收益 startDate = DateUtil.beginOfYear(date); List nowDateTime = DateUtil.rangeToList(startDate, endDate, DateField.MONTH); List monthProfitCurve = new ArrayList<>(); @@ -1563,6 +1566,18 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService { monthProfit = monthProfit.add(chartValue.getProfit()); } annualOverviewResp.setYearProfit(monthProfit); + // 计算今日收益 + List todayDateTime = DateUtil.rangeToList(endDate, endDate, DateField.DAY_OF_MONTH); + List todayProfitCurve = new ArrayList<>(); + getAnnualOverviewResp(todayProfitCurve, todayDateTime, CommonConstant.DATE_YMD, dayMap); + BigDecimal todayProfit = BigDecimal.ZERO; + for (AnnualChartValue chartValue : todayProfitCurve) { + todayProfit = todayProfit.add(chartValue.getProfit()); + } + annualOverviewResp.setTodayProfit(todayProfit); + // 计算昨日收益 + date = DateUtil.yesterday(); + endDate = DateUtil.endOfDay(date); List dayDateTime = DateUtil.rangeToList(endDate, endDate, DateField.DAY_OF_MONTH); List dayProfitCurve = new ArrayList<>(); getAnnualOverviewResp(dayProfitCurve, dayDateTime, CommonConstant.DATE_YMD, dayMap); @@ -1606,12 +1621,13 @@ public class IargeScreenShowServiceImpl implements IargeScreenShowService { } } BigDecimal result = dischargeProfit.subtract(chargeProfit).divide(new BigDecimal("10000")); - if (result.doubleValue() > 0.0) { - annualChartValue.setProfit(result); - } else { - log.info("{},大屏计算收益,放电收益小于充电收益",day); - annualChartValue.setProfit(BigDecimal.ZERO); - } +// if (result.doubleValue() > 0.0) { +// annualChartValue.setProfit(result); +// } else { +// log.info("{},大屏计算收益,放电收益小于充电收益",day); +// annualChartValue.setProfit(BigDecimal.ZERO); +// } + annualChartValue.setProfit(result); annualChartValue.setTime(day); curveResult.add(annualChartValue); }