puzhibing
2026-03-08 5f7db6fb9c1dbdcd3afeae55c444472303f0c9d3
修改bug
6个文件已修改
100 ■■■■■ 已修改文件
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/TChargingOrderService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 (