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>