From 9003bffdaa12fb65ec9b4f8ebfa9e18a5ab1e6c8 Mon Sep 17 00:00:00 2001 From: lishuai Date: Mon, 10 Mar 2025 10:20:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=85=E7=94=B5=E6=A1=A9=E5=B9=B4=E6=9C=88?= =?UTF-8?q?=E6=97=A5=202025=E5=B9=B43=E6=9C=8810=E6=97=A510:20:31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/StationScreenController.java | 6 ++--- .../screen/service/StationScreenService.java | 2 +- .../impl/StationScreenServiceImpl.java | 25 ++++++++++++++++--- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/controller/StationScreenController.java b/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/controller/StationScreenController.java index 2138cb6..716fbb5 100644 --- a/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/controller/StationScreenController.java +++ b/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/controller/StationScreenController.java @@ -65,14 +65,14 @@ public class StationScreenController { return new Result().ok(data); } - @GetMapping("month/usage/analysis") + @GetMapping("usage/analysis") @Operation(summary = "月度使用率分析") @Parameters({ @Parameter(name = "thingCode", description = "充电站物编码"), }) public Result getMonthUsageAnalysis( - @Parameter(hidden = true) String thingCode) { - StationMonthUsageAnalysis data = service.getMonthUsageAnalysis(thingCode); + @Parameter(hidden = true) String thingCode,String dateType) { + StationMonthUsageAnalysis data = service.getMonthUsageAnalysis(thingCode, dateType); return new Result().ok(data); } diff --git a/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/StationScreenService.java b/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/StationScreenService.java index 3fa3e16..44b7fb7 100644 --- a/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/StationScreenService.java +++ b/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/StationScreenService.java @@ -19,7 +19,7 @@ public interface StationScreenService { StationChargeStatus getChargeStatus(String thingCode); - StationMonthUsageAnalysis getMonthUsageAnalysis(String thingCode); + StationMonthUsageAnalysis getMonthUsageAnalysis(String thingCode,String dateType); StationChargeTrend getChargeTrend(String thingCode, String timeType); diff --git a/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/impl/StationScreenServiceImpl.java b/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/impl/StationScreenServiceImpl.java index 0c56b5d..a918da8 100644 --- a/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/impl/StationScreenServiceImpl.java +++ b/modules/qingyuan/src/main/java/com/thing/qingyuan/screen/service/impl/StationScreenServiceImpl.java @@ -17,6 +17,7 @@ import com.thing.thing.entity.dto.IotThingEntityDTO; import com.thing.thing.entity.service.IotThingEntityService; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.*; @@ -120,15 +121,31 @@ public class StationScreenServiceImpl implements StationScreenService { } @Override - public StationMonthUsageAnalysis getMonthUsageAnalysis(String thingCode) { + public StationMonthUsageAnalysis getMonthUsageAnalysis(String thingCode,String dateType) { Integer gunCount = connectorInfoService.getCountByStationIds(Collections.singletonList(thingCode)); + String code = "A201mm"; + Long startTs = DateTimeUtils.monthStartTs(); + Long endTs = DateTimeUtils.monthStartTs(); + if(StringUtils.equals(dateType,"yy")){ + startTs = DateTimeUtils.yearStartTs(); + endTs = DateTimeUtils.yearEndTs(); + } else if (StringUtils.equals(dateType,"mm")) { + startTs = DateTimeUtils.monthStartTs(); + endTs = DateTimeUtils.monthEndTs(); + code= "A201dd"; + }else{ + startTs = DateTimeUtils.todayStartTs(); + endTs = DateTimeUtils.yearEndTs(); + code= "A201hh"; + } + List tskvList = tsKvService.findTsKvByCodeAndAttr( thingCode, - StationChargeStatus.DAILY_DURATION_CODE, - DateTimeUtils.monthStartTs(), - DateTimeUtils.todayStartTs(), + code, + startTs, + endTs, true); return StationMonthUsageAnalysis.assemble(tskvList, gunCount); }