diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/index/indexController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/index/indexController.java index aff5493b6..b2f2f0d6c 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/index/indexController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/index/indexController.java @@ -4,11 +4,11 @@ import com.alibaba.fastjson2.JSON; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.response.RestApiResponse; import com.jsowell.pile.dto.IndexQueryDTO; +import com.jsowell.pile.service.MemberBasicInfoService; import com.jsowell.pile.service.OrderBasicInfoService; import com.jsowell.pile.service.PileBasicInfoService; -import com.jsowell.pile.vo.web.IndexGeneralSituationVO; -import com.jsowell.pile.vo.web.IndexOrderInfoVO; -import com.jsowell.pile.vo.web.IndexPlatformProfitVO; +import com.jsowell.pile.service.PileStationInfoService; +import com.jsowell.pile.vo.web.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -32,6 +32,12 @@ public class indexController extends BaseController { @Autowired private OrderBasicInfoService orderBasicInfoService; + @Autowired + private MemberBasicInfoService memberBasicInfoService; + + @Autowired + private PileStationInfoService pileStationInfoService; + @PostMapping("/getGeneralSituation") public RestApiResponse getGeneralSituation(@RequestBody IndexQueryDTO dto) { logger.info("首页基础数据查询 param:{}", JSON.toJSONString(dto)); @@ -105,4 +111,67 @@ public class indexController extends BaseController { return response; } + /** + * 大数据平台-总览数据 + */ + @PostMapping("/getBigDataOverview") + public RestApiResponse getBigDataOverview() { + logger.info("大数据平台总览数据查询"); + RestApiResponse response; + try { + BigDataOverviewVO overviewVO = new BigDataOverviewVO(); + overviewVO.setTotalUsers(memberBasicInfoService.countTotalMembers()); + overviewVO.setTotalOrders(orderBasicInfoService.countTotalOrders()); + overviewVO.setTotalPiles(Long.valueOf(pileBasicInfoService.getGeneralSituation(new IndexQueryDTO()).getTotalPileQuantity())); + overviewVO.setTotalStations(pileStationInfoService.countTotalStations()); + + IndexGeneralSituationVO generalSituation = pileBasicInfoService.getGeneralSituation(new IndexQueryDTO()); + overviewVO.setTotalTransactionAmount(generalSituation.getTotalChargingAmount()); + overviewVO.setTotalElectricity(generalSituation.getTotalChargingDegree()); + + response = new RestApiResponse<>(overviewVO); + } catch (Exception e) { + logger.error("大数据平台总览数据查询错误", e); + response = new RestApiResponse<>("00200005", "大数据平台总览数据查询错误"); + } + logger.info("大数据平台总览数据查询 result:{}", JSON.toJSONString(response)); + return response; + } + + /** + * 大数据平台-充电站地图数据 + */ + @PostMapping("/getStationMapData") + public RestApiResponse getStationMapData() { + logger.info("大数据平台充电站地图数据查询"); + RestApiResponse response; + try { + List stationMapData = pileStationInfoService.getStationMapData(); + response = new RestApiResponse<>(stationMapData); + } catch (Exception e) { + logger.error("大数据平台充电站地图数据查询错误", e); + response = new RestApiResponse<>("00200006", "大数据平台充电站地图数据查询错误"); + } + logger.info("大数据平台充电站地图数据查询 result:{}", JSON.toJSONString(response)); + return response; + } + + /** + * 大数据平台-使用率趋势数据 + */ + @PostMapping("/getUsageTrend") + public RestApiResponse getUsageTrend(@RequestBody IndexQueryDTO dto) { + logger.info("大数据平台使用率趋势查询 param:{}", JSON.toJSONString(dto)); + RestApiResponse response; + try { + List trendData = orderBasicInfoService.getUsageTrendData(dto); + response = new RestApiResponse<>(trendData); + } catch (Exception e) { + logger.error("大数据平台使用率趋势查询错误", e); + response = new RestApiResponse<>("00200007", "大数据平台使用率趋势查询错误"); + } + logger.info("大数据平台使用率趋势查询 result:{}", JSON.toJSONString(response)); + return response; + } + } diff --git a/jsowell-admin/src/main/resources/logback.xml b/jsowell-admin/src/main/resources/logback.xml index d293b86f2..b3591c688 100644 --- a/jsowell-admin/src/main/resources/logback.xml +++ b/jsowell-admin/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - + diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java index a49ff56d5..e9af44088 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/MemberBasicInfoMapper.java @@ -132,4 +132,11 @@ public interface MemberBasicInfoMapper { ConfirmStartChargingMemberVO queryMemberInfoByCardCode(@Param("cardCode") String cardCode, @Param("merchantId") String merchantId); ConfirmStartChargingMemberVO queryMemberInfoByVinCode(@Param("vinCode") String vinCode, @Param("merchantId") String merchantId); + + /** + * 统计总会员数 + * + * @return 会员总数 + */ + Long countTotalMembers(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java index cc765f708..971b01a5c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/OrderBasicInfoMapper.java @@ -467,4 +467,19 @@ public interface OrderBasicInfoMapper { List batchQueryChargingConnectorInfo(@Param("pileConnectorCodes") List chargingConnectorCodeList); int batchUpdateOrderReview(@Param("dto") UpdateOrderReviewDTO dto); + + /** + * 大数据平台-使用率趋势数据 + * + * @param dto 查询条件 + * @return 趋势数据列表 + */ + List getUsageTrendData(@Param("dto") IndexQueryDTO dto); + + /** + * 大数据平台-订单总数 + * + * @return 订单总数 + */ + Long countTotalOrders(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java index 10632fc7f..22b3fca96 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java @@ -9,6 +9,7 @@ import com.jsowell.pile.dto.ningxiajiaotou.NXJTQueryStationInfoDTO; import com.jsowell.pile.vo.base.ThirdPartyStationInfoVO; import com.jsowell.pile.vo.ningxiajiaotou.NXJTStationInfoVO; import com.jsowell.pile.vo.web.PileStationVO; +import com.jsowell.pile.vo.web.StationMapVO; import com.jsowell.pile.vo.web.StationSelectVO; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -140,4 +141,18 @@ public interface PileStationInfoMapper { * @return */ List getStationIdsByMerchantIds(@Param("merchantIds") List merchantIdList); + + /** + * 统计充电站总数 + * + * @return 充电站总数 + */ + Long countTotalStations(); + + /** + * 查询所有充电站坐标(用于地图展示) + * + * @return 站点坐标列表 + */ + List getStationMapData(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberBasicInfoService.java index 386af72e1..57cea4056 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/MemberBasicInfoService.java @@ -174,4 +174,11 @@ public interface MemberBasicInfoService { ConfirmStartChargingMemberVO queryMemberInfoByCardCode(String physicsCard, String merchantId, String stationId); ConfirmStartChargingMemberVO queryByVinCode(String vinCode, String merchantId, String stationId); + + /** + * 统计总会员数 + * + * @return 会员总数 + */ + Long countTotalMembers(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java index bbf855cbe..7126ebe48 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/OrderBasicInfoService.java @@ -684,4 +684,19 @@ public interface OrderBasicInfoService{ List getRealTimeMonitorDataList(List transactionCodeList); int batchUpdateOrderReview(UpdateOrderReviewDTO dto); + + /** + * 大数据平台-使用率趋势数据 + * + * @param dto 查询条件 + * @return 趋势数据列表 + */ + List getUsageTrendData(IndexQueryDTO dto); + + /** + * 大数据平台-订单总数 + * + * @return 订单总数 + */ + Long countTotalOrders(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileStationInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileStationInfoService.java index b63419dfb..9f33f0654 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/PileStationInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/PileStationInfoService.java @@ -15,6 +15,7 @@ import com.jsowell.pile.vo.ningxiajiaotou.NXJTStationInfoVO; import com.jsowell.pile.vo.uniapp.business.StationBusinessAnalyzeInfoVO; import com.jsowell.pile.vo.uniapp.business.StationStatisticsInfosVO; import com.jsowell.pile.vo.web.PileStationVO; +import com.jsowell.pile.vo.web.StationMapVO; import com.jsowell.pile.vo.web.StationSelectVO; import java.util.List; @@ -229,4 +230,18 @@ public interface PileStationInfoService { * @return */ List getStationIdsByMerchantIds(List merchantIdList); + + /** + * 统计充电站总数 + * + * @return 充电站总数 + */ + Long countTotalStations(); + + /** + * 查询所有充电站坐标(用于地图展示) + * + * @return 站点坐标列表 + */ + List getStationMapData(); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index 2cb20b99a..7b65573c5 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java @@ -897,4 +897,9 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService { return memberVO; } + @Override + public Long countTotalMembers() { + return memberBasicInfoMapper.countTotalMembers(); + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 52ab69f7e..461271dfe 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -6686,5 +6686,15 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { } return resultList; } + + @Override + public List getUsageTrendData(IndexQueryDTO dto) { + return orderBasicInfoMapper.getUsageTrendData(dto); + } + + @Override + public Long countTotalOrders() { + return orderBasicInfoMapper.countTotalOrders(); + } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java index ae6d175e7..085c5a280 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java @@ -37,6 +37,7 @@ import com.jsowell.pile.vo.uniapp.business.StationOrderQuantityInfoVO; import com.jsowell.pile.vo.uniapp.business.StationStatisticsInfosVO; import com.jsowell.pile.vo.uniapp.customer.CurrentTimePriceDetails; import com.jsowell.pile.vo.web.PileStationVO; +import com.jsowell.pile.vo.web.StationMapVO; import com.jsowell.pile.vo.web.StationSelectVO; import com.jsowell.system.service.SysDeptService; import com.jsowell.system.service.SysUserService; @@ -1688,4 +1689,14 @@ public class PileStationInfoServiceImpl implements PileStationInfoService { return pileStationInfoMapper.getStationIdsByMerchantIds(merchantIdList); } + @Override + public Long countTotalStations() { + return pileStationInfoMapper.countTotalStations(); + } + + @Override + public List getStationMapData() { + return pileStationInfoMapper.getStationMapData(); + } + } diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml index 1b262b865..0548ae590 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberBasicInfoMapper.xml @@ -330,4 +330,8 @@ t2.vin_code = #{vinCode,jdbcType=VARCHAR} or t2.vin_code = reverse(#{vinCode,jdbcType=VARCHAR}) ) + + diff --git a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml index bf30a5194..0cda5c55a 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/OrderBasicInfoMapper.xml @@ -3656,4 +3656,28 @@ #{orderCode} + + + + diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml index 89beb66e4..fef9613cb 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml @@ -754,4 +754,20 @@ #{merchantId,jdbcType=VARCHAR} + + + +