ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/ChargingPercentProvinceDto.java
@@ -4,10 +4,12 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @Data public class ChargingPercentProvinceDto { String provinceCode; LocalDate date1; LocalDate date2; List<Integer> siteIds; } ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/dto/MongoChargingOrderQuery.java
@@ -32,4 +32,5 @@ private Integer orderSource; @ApiModelProperty(value = "用户ids 前端忽略") private List<Long> userIds; private List<Integer> siteIds; } ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -13,6 +13,7 @@ import com.ruoyi.account.api.vo.GetAppUserVipDetail; import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; import com.ruoyi.chargingPile.api.feignClient.ParkingLotClient; import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.*; import com.ruoyi.chargingPile.api.query.GetSiteList; import com.ruoyi.chargingPile.api.query.SiteDetailQuery; @@ -325,15 +326,22 @@ return R.ok(divide); } @Resource private SiteClient siteClient; @PostMapping("/map/getPercentByprovinceCode") @ApiOperation(value = "获取该充电站的利用率", tags = {"管理后台-数据分析-电站分析"}) public R getPercentByCityCode(@RequestBody ChargingPercentProvinceDto chargingPercentProvinceDto){ Long userid = tokenService.getLoginUser().getUserid(); List<Integer> siteIds = new ArrayList<>(); List<GetSiteListDTO> data1 = siteClient.getSiteListByUserId(userid).getData(); for (GetSiteListDTO datum : data1) { siteIds.add(datum.getId()); } chargingPercentProvinceDto.setSiteIds(siteIds); GetSiteList siteList = new GetSiteList(); ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -5,6 +5,8 @@ import cn.afterturn.easypoi.excel.entity.ExportParams; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.chargingPile.api.dto.GetSiteListDTO; import com.ruoyi.chargingPile.api.feignClient.SiteClient; import com.ruoyi.chargingPile.api.model.TParkingLot; import com.ruoyi.chargingPile.api.model.TParkingRecord; import com.ruoyi.chargingPile.api.query.ParkingRecordQuery; @@ -22,6 +24,7 @@ import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.OperatorType; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.api.query.TOrderInvoiceQuery; import com.ruoyi.order.api.vo.TCharingUserEquimentVO; import com.ruoyi.order.api.vo.TOrderInvoiceVO; @@ -60,10 +63,27 @@ private TParkingRecordService parkingRecordService; @Resource private TParkingLotService parkingLotService; @Resource private SiteClient siteClient; @Resource private TokenService tokenService; @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "列表") @PostMapping(value = "/page") public R<Page<TParkingRecord>> page(@RequestBody ParkingRecordPageQuery query) { Long userid = tokenService.getLoginUser().getUserid(); List<Integer> siteIds = new ArrayList<>(); List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userid).getData(); for (GetSiteListDTO datum : data) { siteIds.add(datum.getId()); } List<TParkingLot> list = parkingLotService.lambdaQuery().in(!siteIds.isEmpty(), TParkingLot::getSiteId, siteIds).list(); List<Integer> ids = new ArrayList<>(); for (TParkingLot tParkingLot : list) { ids.add(tParkingLot.getId()); } String s1 = ""; String s2 = ""; if (query.getTimePeriod()!=null){ ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/mongodb/service/impl/UploadRealTimeMonitoringDataServiceImpl.java
@@ -78,6 +78,9 @@ if (mongoChargingOrderQuery.getSiteId() != null){ query.addCriteria(Criteria.where("siteId").is(mongoChargingOrderQuery.getSiteId())); } if (!mongoChargingOrderQuery.getSiteIds().isEmpty()){ query.addCriteria(Criteria.where("siteId").in(mongoChargingOrderQuery.getSiteIds())); } if (mongoChargingOrderQuery.getChargingPileCode() != null && !mongoChargingOrderQuery.getChargingPileCode().isEmpty()) { query.addCriteria(Criteria.where("charging_pile_code").is(mongoChargingOrderQuery.getChargingPileCode())); } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -800,7 +800,17 @@ @PostMapping(value = "/watch/chargingOrder") @ApiOperation(value = "监控订单", tags = {"管理后台-订单管理"}) public R watchChargingOrder(@RequestBody MongoChargingOrderQuery mongoChargingOrderQuery) { Long userid = tokenService.getLoginUser().getUserid(); List<Integer> siteIds = new ArrayList<>(); if (mongoChargingOrderQuery.getSiteId()==null){ List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userid).getData(); for (GetSiteListDTO datum : data) { siteIds.add(datum.getId()); } }else { siteIds.add(mongoChargingOrderQuery.getSiteId()); } mongoChargingOrderQuery.setSiteIds(siteIds); mongoChargingOrderQuery.setPageSize(10); R<UploadRealTimeMonitoringPageData> all = uploadRealTimeMonitoringDataClient.getAll(mongoChargingOrderQuery); UploadRealTimeMonitoringPageData data1 = all.getData(); @@ -1146,11 +1156,24 @@ @PostMapping(value = "/charging/users") @ApiOperation(value = "除电站流量外", tags = {"管理后台-数据分析-充电用户分析"}) public R<TCharingUserMapVO> users(@RequestBody ChargingStatisticsQueryDto statisticsQueryDto){ Long userId = tokenService.getLoginUserApplet().getUserId(); List<Integer> siteIds = new ArrayList<>(); if (statisticsQueryDto.getSiteId()==null){ List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userId).getData(); for (GetSiteListDTO datum : data) { siteIds.add(datum.getId()); } }else { siteIds.add(statisticsQueryDto.getSiteId()); } statisticsQueryDto.setSiteIds(siteIds); TCharingUserMapVO tCharingUserMapVO = new TCharingUserMapVO(); //上方折现 if (statisticsQueryDto.getDayType()==1){ List<Map<String,Object>> map = chargingOrderService.usersDay(); List<Map<String,Object>> map = chargingOrderService.usersDay(statisticsQueryDto); List<Map<String, Object>> charMap = new ArrayList<>(); // 生成从 "00:00" 到 "23:00" 的时间数据 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/dto/ChargingStatisticsQueryDto.java
@@ -6,6 +6,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @Data public class ChargingStatisticsQueryDto { @@ -20,4 +21,5 @@ @ApiModelProperty("工作台用查询参数") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GTM+8") private LocalDateTime selectDate; private List<Integer> siteIds; } ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -88,7 +88,7 @@ List<Map<String, Object>> queryOrderCountAndMoneyBySiteIdDate(@Param("siteIds")List<Integer> siteIds); List<Map<String, Object>> usersDay(); List<Map<String, Object>> usersDay(@Param("statisticsQueryDto")ChargingStatisticsQueryDto statisticsQueryDto); List<Map<String, Object>> usersDay1(); List<Map<String, Object>> usersByQuery(@Param("statisticsQueryDto") ChargingStatisticsQueryDto statisticsQueryDto); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -194,7 +194,7 @@ List<Map<String, Object>> queryOrderCountAndMoneyBySiteIdDate(List<Integer> siteIds); List<Map<String, Object>> usersDay(); List<Map<String, Object>> usersDay(ChargingStatisticsQueryDto statisticsQueryDto); List<Map<String, Object>> usersDay1(); List<Map<String, Object>> usersByQuery(ChargingStatisticsQueryDto statisticsQueryDto); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -2208,8 +2208,8 @@ } @Override public List<Map<String, Object>> usersDay() { return this.baseMapper.usersDay(); public List<Map<String, Object>> usersDay(ChargingStatisticsQueryDto statisticsQueryDto) { return this.baseMapper.usersDay(statisticsQueryDto); } @Override ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -311,7 +311,12 @@ <if test="chargingPercentProvinceDto.provinceCode != null"> AND ts.province_code = #{chargingPercentProvinceDto.provinceCode} </if> <if test="chargingPercentProvinceDto.siteIds != null and chargingPercentProvinceDto.siteIds.size() > 0"> AND site_id IN <foreach collection="chargingPercentProvinceDto.siteIds" item="siteId" open="(" separator="," close=")"> #{siteId} </foreach> </if> </where> GROUP BY site_id