ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -128,23 +128,12 @@ if(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(token)){ List<TAppUserCar> cars = appUserCarService.list(new QueryWrapper<TAppUserCar>() .eq("app_user_id",tokenService.getLoginUserApplet().getUserId()) .eq("del_flag", 0) .orderByDesc("create_time")); Long data1 = chargingOrderClient.getCar(tokenService.getLoginUserApplet().getUserId().toString()).getData(); if (!cars.isEmpty()){ if (null == data1 || data1 == -1){ // 没有充电订单 展示最新添加的车辆 data.setLicensePlate(cars.get(0).getLicensePlate()); data.setVehicleBrand(cars.get(0).getVehicleBrand()); data.setId(cars.get(0).getId().toString()); }else{ for (TAppUserCar car : cars) { if (car.getId().equals(data1)){ data.setLicensePlate(car.getLicensePlate()); data.setVehicleBrand(car.getVehicleBrand()); data.setId(car.getId().toString()); } } } data.setLicensePlate(cars.get(0).getLicensePlate()); data.setVehicleBrand(cars.get(0).getVehicleBrand()); data.setId(cars.get(0).getId().toString()); } } Integer data2 = otherClient.getAddCarIntegral().getData(); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -1865,16 +1865,10 @@ } else { siteIds.add(statisticsQueryDto.getSiteId()); } LocalDateTime selectDate = statisticsQueryDto.getSelectDate(); LocalDateTime min = selectDate.with(LocalTime.MIN); LocalDateTime max = selectDate.with(LocalTime.MAX); List<TChargingOrder> list = chargingOrderService.lambdaQuery().in(!siteIds.isEmpty(), TChargingOrder::getSiteId, siteIds) .between(TChargingOrder::getCreateTime, min, max).eq(TChargingOrder::getStatus,5).eq(TChargingOrder::getDelFlag, 0) .eq(TChargingOrder::getRechargePaymentStatus, 2) .eq(statisticsQueryDto.getSiteId() != null, TChargingOrder::getSiteId, statisticsQueryDto.getSiteId()).list(); String format = statisticsQueryDto.getSelectDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); Map<String, Object> stringObjectMap = chargingOrderService.getChargingOrderCount(siteIds, format); //当日的订单总数 int size = list.size(); int size = 0; //计算list中paymentAmount的总和 BigDecimal totalPaymentAmount = BigDecimal.ZERO; //计算list中electrovalence的总和 @@ -1883,21 +1877,12 @@ BigDecimal totalServiceCharge = BigDecimal.ZERO; //计算list中charging_capacity的总和 BigDecimal totalChargingCapacity = BigDecimal.ZERO; List<TChargingOrderAccountingStrategy> accountingStrategyList = chargingOrderAccountingStrategyService.list(); for (TChargingOrder order : list) { List<TChargingOrderAccountingStrategy> collect = accountingStrategyList.stream().filter(s -> s.getChargingOrderId().equals(order.getId())).collect(Collectors.toList()); BigDecimal periodElectricPrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodElectricPrice).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal periodServicePrice = collect.stream().map(TChargingOrderAccountingStrategy::getPeriodServicePrice).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal chargingCapacity = collect.stream().map(TChargingOrderAccountingStrategy::getChargingCapacity).reduce(BigDecimal.ZERO, BigDecimal::add); totalElectrovalence = totalElectrovalence.add(periodElectricPrice); totalChargingCapacity = totalChargingCapacity.add(chargingCapacity); if(2 != order.getOrderSource()){ totalServiceCharge = totalServiceCharge.add(periodServicePrice); totalPaymentAmount = totalPaymentAmount.add(periodElectricPrice).add(periodServicePrice); }else{ totalServiceCharge = totalServiceCharge.add(periodServicePrice.multiply(new BigDecimal("0.8"))); totalPaymentAmount = totalPaymentAmount.add(periodElectricPrice).add(periodServicePrice.multiply(new BigDecimal("0.8"))); } if(null != stringObjectMap){ size = Integer.parseInt(stringObjectMap.get("num").toString()); totalElectrovalence = new BigDecimal(stringObjectMap.get("electrovalence").toString()); totalServiceCharge = new BigDecimal(stringObjectMap.get("servicecharge").toString()); totalChargingCapacity = new BigDecimal(stringObjectMap.get("electricity").toString()); totalPaymentAmount = totalElectrovalence.add(totalServiceCharge); } TCharingWorkVO tCharingWorkVO = new TCharingWorkVO(); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -137,6 +137,9 @@ List<Map<String, Object>> needElec(@Param("siteIds")List<Integer> siteIds, @Param("statisticsQueryDto")ChargingStatisticsQueryDto statisticsQueryDto); Map<String, Object> getChargingOrderCount(@Param("siteIds") List<Integer> siteIds, @Param("time") String time); List<Map<String, Object>> getHourType(@Param("siteIds")List<Integer> siteIds, @Param("statisticsQueryDto")ChargingDetailQueryDto statisticsQueryDto); List<Map<String, Object>> getDateType(@Param("siteIds")List<Integer> siteIds,@Param("statisticsQueryDto") ChargingDetailQueryDto statisticsQueryDto); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java
@@ -266,6 +266,9 @@ List<Map<String, Object>> needElec(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto); Map<String, Object> getChargingOrderCount(List<Integer> siteIds, String time); List<Map<String, Object>> getHourType(List<Integer> siteIds, ChargingDetailQueryDto statisticsQueryDto); List<Map<String, Object>> getDateType(List<Integer> siteIds, ChargingDetailQueryDto statisticsQueryDto); ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -4137,8 +4137,14 @@ public List<Map<String, Object>> needElec(List<Integer> siteIds, ChargingStatisticsQueryDto statisticsQueryDto) { return this.baseMapper.needElec(siteIds, statisticsQueryDto); } @Override @Override public Map<String, Object> getChargingOrderCount(List<Integer> siteIds, String time) { time = time.split(" ")[0]; return this.baseMapper.getChargingOrderCount(siteIds, time); } @Override public List<Map<String, Object>> getHourType(List<Integer> siteIds, ChargingDetailQueryDto statisticsQueryDto) { return this.baseMapper.getHourType(siteIds, statisticsQueryDto); } ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -1716,6 +1716,36 @@ </select> <select id="getChargingOrderCount" resultType="java.util.Map"> select count(a.id) as num, sum(b.charging_capacity) as charging_capacity, sum(CASE WHEN a.order_source = 0 THEN b.period_service_price WHEN a.order_source = 1 THEN b.period_service_price ELSE b.period_service_price * 0.8 END) as servicecharge, sum(b.period_electric_price) as electrovalence, sum(b.charging_capacity) as electricity from t_charging_order a left join ( select charging_order_id, sum(period_service_price) as period_service_price, sum(period_electric_price) as period_electric_price, sum(charging_capacity) as charging_capacity from t_charging_order_accounting_strategy group by charging_order_id ) as b on (a.id = b.charging_order_id) where a.del_flag = 0 and a.status = 5 and a.recharge_payment_status = 2 and DATE_FORMAT(a.create_time, '%Y-%m-%d') = #{time} <if test="siteIds != null and siteIds.size() > 0"> and a.site_id IN <foreach collection="siteIds" item="siteId" open="(" separator="," close=")"> #{siteId} </foreach> </if> </select> <select id="getHourType" resultType="java.util.Map"> select aa.time, @@ -2082,7 +2112,7 @@ FROM t_charging_order WHERE `status` = 4 and order_source = 1 `status` = 4 AND NOW() >= ADDDATE(end_time, INTERVAL 10 MINUTE ) AND del_flag = 0 AND id NOT IN (