无关风月
2025-03-19 17b48b4731e2ac2b6d571049718be724eb31972b
充电桩bug修改
7个文件已修改
248 ■■■■■ 已修改文件
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TShoppingOrderMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TChargingOrderMapper.java
@@ -55,6 +55,7 @@
                                            @Param("pageCurr") Integer pageCurr, @Param("pageSize") Integer pageSize);
    List<ChargingOrderVO> chargingOrder(@Param("pageInfo") PageInfo<ChargingOrderVO> pageInfo, @Param("req") ChargingOrderQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2,@Param("endTime1") String endTime1,@Param("endTime2") String endTime11);
    List<ChargingOrderVO> chargingOrderNolimit( @Param("req") ChargingOrderQuery dto, @Param("startTime1")String startTime1, @Param("startTime2")String startTime2,@Param("endTime1") String endTime1,@Param("endTime2") String endTime11);
    List<PayOrderDto> payOrderQuery(@Param("pageInfo")PageInfo<PayOrderDto> pageInfo,@Param("data") PayOrderQueryDto payOrderQueryDto);
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/TShoppingOrderMapper.java
@@ -28,7 +28,8 @@
public interface TShoppingOrderMapper extends BaseMapper<TShoppingOrder> {
    List<TActivityStatisticslVO> activityStatistics(@Param("pageInfo") PageInfo<TActivityStatisticslVO> pageInfo, @Param("req")TActivityStatisticsQuery dto);
    List<TActivityStatisticslVO> activityStatisticsNolimit(@Param("req")TActivityStatisticsQuery dto);
    
    /**
     * 获取未开票的订单数据
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -363,8 +363,8 @@
                            .setScale(2,BigDecimal.ROUND_DOWN));
                }
                // 累加平台分佣
                if (tChargingOrder.getSharingAmount()!=null){
                    sharingAmount = sharingAmount.add(tChargingOrder.getSharingAmount());
                if (tChargingOrder.getOrderSource()==2 && tChargingOrder.getServiceCharge()!=null){
                    sharingAmount = sharingAmount.add(tChargingOrder.getServiceCharge().multiply(BigDecimal.valueOf(0.2)).setScale(2,BigDecimal.ROUND_DOWN));
                }
                // 累加充电度数
                if (tChargingOrder.getChargingCapacity()!=null){
@@ -412,11 +412,15 @@
        BigDecimal bigDecimal = new BigDecimal("0");
        int i = 0;
        for (ChargingBillListVO chargingBillListVO : list1) {
            if (chargingBillListVO.getSiteId()!=0&&!siteIds.contains(chargingBillListVO.getSiteId())){
                continue;
            }
            if (chargingBillListVO.getType()==1){
                continue;
            if (dto.getType() == 1){
            }else{
                if (chargingBillListVO.getSiteId()!=0&&!siteIds.contains(chargingBillListVO.getSiteId())){
                    continue;
                }
                if (chargingBillListVO.getType()==1){
                    continue;
                }
            }
            i++;
            LocalDateTime billTime = chargingBillListVO.getBillTime();
@@ -447,7 +451,6 @@
                if (tChargingOrder.getOrderAmount()!=null){
                    paymentAmountTotal = paymentAmountTotal.add(tChargingOrder.getPaymentAmount());
                }
                // 累加订单金额
                if (tChargingOrder.getRechargeAmount()!=null){
                    orderAmountTotal = orderAmountTotal.add(tChargingOrder.getRechargeAmount());
@@ -475,8 +478,8 @@
                            .setScale(2,BigDecimal.ROUND_DOWN));
                }
                // 累加平台分佣
                if (tChargingOrder.getSharingAmount()!=null){
                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getSharingAmount());
                if (tChargingOrder.getOrderSource()==2 && tChargingOrder.getServiceCharge()!=null){
                    sharingAmountTotal = sharingAmountTotal.add(tChargingOrder.getServiceCharge().multiply(BigDecimal.valueOf(0.2)).setScale(2,BigDecimal.ROUND_DOWN));
                }
                // 累加充电度数
                if (tChargingOrder.getElectricity()!=null){
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -1287,7 +1287,6 @@
            endTime2 = split[1];
        }
        PageInfo<ChargingOrderVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        PageInfo<ChargingOrderVO> pageInfo1 = new PageInfo<>(1,999999999);
        if (StringUtils.hasLength(dto.getPhone())){
            List<Long> data = appUserClient.getUserIdsByPhone(dto.getPhone()).getData();
@@ -1333,7 +1332,7 @@
        if (siteIds.isEmpty())siteIds.add(-1);
        dto.setSiteIds(siteIds);
        List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo,dto,startTime1,startTime2,endTime1,endTime2);
        List<ChargingOrderVO> list1 = this.baseMapper.chargingOrder(pageInfo1,dto,startTime1,startTime2,endTime1,endTime2);
        List<ChargingOrderVO> list1 = this.baseMapper.chargingOrderNolimit(dto,startTime1,startTime2,endTime1,endTime2);
         BigDecimal total = new BigDecimal("0");
         long time = 0L;
         BigDecimal electronicMoney = new BigDecimal("0");
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java
@@ -103,9 +103,8 @@
        PageInfo<TActivityStatisticslVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        PageInfo<TActivityStatisticslVO> pageInfo1 = new PageInfo<>(1,9999999);
        List<TActivityStatisticslVO> list = this.baseMapper.activityStatistics(pageInfo,dto);
        List<TActivityStatisticslVO> list1 = this.baseMapper.activityStatistics(pageInfo1,dto);
        List<TActivityStatisticslVO> list1 = this.baseMapper.activityStatisticsNolimit(dto);
        // 优惠券金额
        BigDecimal coupon = new BigDecimal("0");
@@ -179,9 +178,9 @@
                        tActivityStatisticslVO.setType("赠送会员");
                        tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    }else{
                        // 赠送
                        grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount());
                        tActivityStatisticslVO.setType("赠送会员");
                        // 会员活动
                        vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount());
                        tActivityStatisticslVO.setType("会员活动");
                        tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                    }
                    break;
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml
@@ -392,7 +392,7 @@
        FROM
            t_charging_order
        <where>
            del_flag = 0 and recharge_payment_status = 2
            del_flag = 0
            <if test="siteIds != null and siteIds.size() > 0">
                AND site_id IN
                <foreach collection="siteIds" item="siteId" open="(" separator="," close=")">
@@ -1627,4 +1627,56 @@
        </foreach>
        </if>
    </select>
    <select id="chargingOrderNolimit" resultType="com.ruoyi.order.api.vo.ChargingOrderVO">
        select t1.*
        from t_charging_order t1
        where 1=1
        <if test="null != req.code and req.code!=''">
            and t1.code  LIKE CONCAT('%',#{req.code},'%')
        </if>
        <if test="null != req.userIds and req.userIds.size()>0" >
            and t1.app_user_id in
            <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
                #{item}
            </foreach>
        </if>
        <if test="null != req.siteIds and req.siteIds.size()>0" >
            and t1.site_id in
            <foreach collection="req.siteIds" item="item" index="index" separator="," open="(" close=")">
                #{item}
            </foreach>
        </if>
        <if test="req.orderType != null ">
            and t1.order_type = #{req.orderType}
        </if>
        <if test="req.status != null ">
            and t1.status = #{req.status}
        </if>
        <if test="req.orderSource != null and req.orderSource == 1 ">
            and (t1.order_source = 0 or t1.order_source = 1 )
        </if>
        <if test="req.orderSource != null and req.orderSource == 2 ">
            and t1.tripartite_platform_name = 'KuaiDian'
        </if>
        <if test="req.orderSource != null and req.orderSource == 3 ">
            and t1.tripartite_platform_name = 'XinDianTu'
        </if>
        <if test="req.siteId != null ">
            and t1.site_id = #{req.siteId}
        </if>
        <if test="req.pileId != null ">
            and t1.charging_pile_id = #{req.pileId}
        </if>
        <if test="req.gunId != null ">
            and t1.charging_gun_id = #{req.gunId}
        </if>
        <if test="startTime1 != null and startTime1!=''">
            and (t1.pay_time between #{startTime1} and #{startTime2})
        </if>
        <if test="endTime1 != null and endTime1!=''">
            and (t1.end_time between #{endTime1} and #{endTime2})
        </if>
        and t1.del_flag = 0
        order by t1.create_time desc
    </select>
</mapper>
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TShoppingOrderMapper.xml
@@ -308,4 +308,159 @@
    </select>
    <select id="activityStatisticsNolimit" resultType="com.ruoyi.order.api.vo.TActivityStatisticslVO">
        select * from (
        select t9.code ,t9.order_amount as orderAmount,
        t9.coupon_discount_amount as couponDiscountAmount,
        t9.vip_discount_amount as vipDiscountAmount,
        t9.payment_amount as paymentAmount,
        t9.create_time as createTime,
        t9.app_user_id as appUserId,
        1 as orderType
        from t_charging_order t9
        where t9.id = 0
        <if test="req.orderType == null or req.orderType == 1">
            <if test="req.type == null or req.type == 1 or req.type == 2">
                union all
                select
                t1.code ,
                t1.order_amount as orderAmount,
                t1.coupon_discount_amount as couponDiscountAmount,
                t1.vip_discount_amount as vipDiscountAmount,
                t1.payment_amount as paymentAmount,
                t1.create_time as createTime,
                t1.app_user_id as appUserId,
                1 as orderType
                from t_charging_order t1
                where 1 = 1
                <if test="null != req.code and req.code!=''">
                    and t1.code  LIKE CONCAT('%',#{req.code},'%')
                </if>
                <if test="req.type != null and req.type == 1">
                    and t1.coupon_discount_amount > 0
                </if>
                <if test="req.type != null and req.type == 2">
                    and t1.vip_discount_amount > 0
                </if>
                <if test="null != req.userIds and req.userIds.size()>0" >
                    and t1.app_user_id in
                    <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
                        #{item}
                    </foreach>
                </if>
                <if test="null != req.chargingPileIds and req.chargingPileIds.size()>0" >
                    and t1.charging_pile_id in
                    <foreach collection="req.chargingPileIds" item="item" index="index" separator="," open="(" close=")">
                        #{item}
                    </foreach>
                </if>
                <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''">
                    AND (t1.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59'))
                </if>
                and (t1.vip_discount_amount > 0 or t1.coupon_discount_amount > 0)
                and t1.recharge_payment_status =2
                AND t1.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
            </if>
        </if>
        <if test="req.siteId == null">
            <if test="req.orderType == null or req.orderType == 2">
                <if test="req.type == null or req.type == 1 or req.type == 2">
                    union all
                    select t2.code ,t2.order_amount as paymentAmount,
                    t2.coupon_discount_amount as couponDiscountAmount,
                    t2.vip_discount_amount as vipDiscountAmount,
                    t2.payment_amount as orderAmount,
                    t2.create_time as createTime,
                    t2.app_user_id as appUserId,
                    2 as orderType
                    from t_shopping_order t2
                    where 1 = 1
                    <if test="null != req.code and req.code!=''">
                        and t2.code  LIKE CONCAT('%',#{req.code},'%')
                    </if>
                    <if test="req.type != null and req.type != '' and req.type == 1">
                        and (t2.coupon_discount_amount  > 0)
                    </if>
                    <if test="req.type != null and req.type != '' and req.type == 2">
                        and ( t2.vip_discount_amount  > 0)
                    </if>
                    <if test="req.type == null ">
                        and (t2.vip_discount_amount  > 0 or t2.coupon_discount_amount  > 0)
                    </if>
                    <if test="null != req.userIds and req.userIds.size()>0" >
                        and t2.app_user_id in
                        <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
                            #{item}
                        </foreach>
                    </if>
                    <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''">
                        AND (t2.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59'))
                    </if>
                    and t2.payment_status =2
                    AND t2.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
                </if>
            </if>
            <if test="req.orderType == null or req.orderType == 3">
                <if test="req.type == null or req.type == 3">
                    union all
                    select t3.code ,t3.order_amount as orderAmount,
                    0 as couponDiscountAmount,
                    t3.discount_amount as vipDiscountAmount,
                    t3.payment_amount as paymentAmount,
                    t3.create_time as createTime,
                    t3.app_user_id as appUserId,
                    3 as orderType
                    from t_vip_order t3
                    where 1 = 1
                    and t3.type =1
                    <if test="null != req.code and req.code!=''">
                        and t3.code  LIKE CONCAT('%',#{req.code},'%')
                    </if>
                    and t3.discount_amount  > 0
                    <if test="null != req.userIds and req.userIds.size()>0" >
                        and t3.app_user_id in
                        <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
                            #{item}
                        </foreach>
                    </if>
                    <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''">
                        AND (t3.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59'))
                    </if>
                    and t3.payment_status =2
                    AND t3.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
                </if>
            </if>
            <if test="req.orderType == null or req.orderType == 4">
                <if test="req.type == null or req.type == 4">
                    union all
                    select t5.code ,t5.order_amount as orderAmount,
                    0 as couponDiscountAmount,
                    0 as vipDiscountAmount,
                    0 as paymentAmount,
                    t5.create_time as createTime,
                    t5.app_user_id as appUserId,
                    4 as orderType
                    from t_grant_vip t5
                    where 1 = 1
                    <if test="null != req.code and req.code!=''">
                        and t5.code  LIKE CONCAT('%',#{req.code},'%')
                    </if>
                    <if test="null != req.userIds and req.userIds.size()>0" >
                        and t5.app_user_id in
                        <foreach collection="req.userIds" item="item" index="index" separator="," open="(" close=")">
                            #{item}
                        </foreach>
                    </if>
                    <if test="req.endTime != null and req.endTime != '' and req.startTime != null and req.startTime != ''">
                        AND (t5.create_time between CONCAT(#{req.startTime},':00') and CONCAT(#{req.endTime},':59'))
                    </if>
                    AND t5.del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
                </if>
            </if>
        </if>
        )
        order by createTime DESC
    </select>
</mapper>