From 9142c0ea84b8dd7d190c9f420185eb3ba4edd79c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 23 十月 2024 13:34:51 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml | 4 + ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java | 14 ++++++- ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java | 4 ++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java | 72 ++++++++++++++++++++++++++++++++++++ ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java | 2 ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml | 6 +++ 6 files changed, 98 insertions(+), 4 deletions(-) diff --git a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java index 59b6847..57bc9ba 100644 --- a/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java +++ b/ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingOrderListVO.java @@ -36,6 +36,10 @@ private Long chargingSecond; @ApiModelProperty(value = "充电电流 度") private BigDecimal chargingCapacity; + @ApiModelProperty(value = "充电电流 度") + private BigDecimal electricity; + @ApiModelProperty(value = "充电到账金额") + private BigDecimal orderAmount; @ApiModelProperty(value = "车牌号") private String licensePlate; @ApiModelProperty(value = "客户手机号") diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java index 481c18a..44d5079 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/SiteServiceImpl.java @@ -371,7 +371,7 @@ TVip vip = vipClient.getInfo1(appUser.getVipId()).getData(); if(Objects.nonNull(vip) && vip.getType() == 2){ list.forEach(item -> { - item.setVipElectrovalence(vip.getDiscount().multiply(item.getElectrovalence())); + item.setVipElectrovalence(vip.getDiscount().divide(new BigDecimal(10)).multiply(item.getServiceCharge()).add(item.getElectrovalenceOriginal())); }); } } diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml index 2c96080..1073452 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml +++ b/ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/SiteMapper.xml @@ -285,8 +285,10 @@ left join ( select a.accounting_strategy_id, + a.service_charge AS serviceCharge, + a.electrovalence AS electrovalenceOriginal, (a.electrovalence+a.service_charge) AS electrovalence, - ((a.electrovalence+a.service_charge)*b.discount) AS vipElectrovalence + (a.electrovalence+(a.service_charge*b.discount)) AS vipElectrovalence from t_accounting_strategy_detail a left join diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java index 3a4181c..d3d0d55 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java @@ -1260,6 +1260,12 @@ PageInfo<ChargingOrderListVO> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize()); List<ChargingOrderListVO> list = this.baseMapper.chargingList(pageInfo,dto,startTime1,startTime2,endTime1,endTime2); for (ChargingOrderListVO chargingOrderListVO : list) { + chargingOrderListVO.setChargingCapacity(chargingOrderListVO.getElectricity()); + chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getOrderAmount()); + BigDecimal bigDecimal = new BigDecimal("0.006"); + if (chargingOrderListVO.getServiceCharge()!=null){ + chargingOrderListVO.setCommissionAmount(chargingOrderListVO.getServiceCharge().multiply(bigDecimal)); + } chargingOrderListVO.setPaymentAmount(chargingOrderListVO.getResidualAmount()==null?chargingOrderListVO.getPaymentAmount():chargingOrderListVO.getPaymentAmount().subtract(chargingOrderListVO.getResidualAmount())); chargingOrderListVO.setUid(chargingOrderListVO.getId()+""); List<Integer> integers = new ArrayList<>(); @@ -1377,9 +1383,9 @@ BigDecimal ping = new BigDecimal("0"); BigDecimal gu = new BigDecimal("0"); for (ChargingOrderListVO chargingOrderListVO : list1) { - if (chargingOrderListVO.getChargingCapacity()!=null)electronic = electronic.add(chargingOrderListVO.getChargingCapacity()); + if (chargingOrderListVO.getChargingCapacity()!=null)electronic = electronic.add(chargingOrderListVO.getElectricity()); - if (chargingOrderListVO.getPaymentAmount()!=null)paymentAmount = paymentAmount.add(chargingOrderListVO.getPaymentAmount()); + if (chargingOrderListVO.getPaymentAmount()!=null)paymentAmount = paymentAmount.add(chargingOrderListVO.getOrderAmount()); if (chargingOrderListVO.getElectrovalence()!=null)electrovalence = electrovalence.add(chargingOrderListVO.getElectrovalence()); if (chargingOrderListVO.getServiceCharge()!=null)serviceCharge = serviceCharge.add(chargingOrderListVO.getServiceCharge()); List<TChargingOrderAccountingStrategy> list2 = chargingOrderAccountingStrategyService.lambdaQuery() @@ -1466,6 +1472,10 @@ TChargingOrder chargingOrder= this.getById(uid); ChargingOrderListInfoVO chargingOrderListInfoVO = new ChargingOrderListInfoVO(); + BigDecimal bigDecimal = new BigDecimal("0.006"); + if (chargingOrder.getServiceCharge()!=null){ + chargingOrderListInfoVO.setCommissionAmount(chargingOrder.getServiceCharge().multiply(bigDecimal)); + } chargingOrderListInfoVO.setElectrovalence(chargingOrder.getElectrovalence()); chargingOrderListInfoVO.setServiceCharge(chargingOrder.getServiceCharge()); if (chargingOrder.getElectrovalence()!=null && chargingOrder.getServiceCharge()!=null){ diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java index 7f8b25f..05e1997 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java @@ -102,7 +102,10 @@ 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.sort((o1, o2) -> o2.getCreateTime().compareTo(o1.getCreateTime())); // 优惠券金额 BigDecimal coupon = new BigDecimal("0"); @@ -113,7 +116,76 @@ // 赠送会员 BigDecimal grantVip = new BigDecimal("0"); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + for (TActivityStatisticslVO tActivityStatisticslVO : list1) { + // 判断享有了哪些类型 + switch (tActivityStatisticslVO.getOrderType()){ + case 1: + StringBuilder stringBuilder = new StringBuilder(); + // 充电订单 优惠券金额大于0 + if (tActivityStatisticslVO.getCouponDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); + stringBuilder.append("优惠券抵扣").append("+"); + } + if (tActivityStatisticslVO.getVipDiscountAmount()!=null &&(tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); + stringBuilder.append("会员抵扣").append("+"); + } + if (stringBuilder.length()>0){ + stringBuilder.deleteCharAt(stringBuilder.length()-1); + tActivityStatisticslVO.setType(stringBuilder.toString()); + } + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); + break; + case 2: + StringBuilder stringBuilder1 = new StringBuilder(); + + // 购物订单 优惠券金额大于0 + if (tActivityStatisticslVO.getCouponDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + coupon = coupon.add(tActivityStatisticslVO.getCouponDiscountAmount()); + stringBuilder1.append("优惠券抵扣").append("+"); + } + if (tActivityStatisticslVO.getVipDiscountAmount()!=null + && + (tActivityStatisticslVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount()); + stringBuilder1.append("会员抵扣").append("+"); + } + if (stringBuilder1.length()>0){ + stringBuilder1.deleteCharAt(stringBuilder1.length()-1); + } + tActivityStatisticslVO.setType(stringBuilder1.toString()); + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); + break; + case 3: + // 会员订单 优惠金额大于0 + if (tActivityStatisticslVO.getVipDiscountAmount()!=null + && + (tActivityStatisticslVO.getCouponDiscountAmount().compareTo(BigDecimal.ZERO)>0)){ + vipActivity = vipActivity.add(tActivityStatisticslVO.getVipDiscountAmount()); + } + tActivityStatisticslVO.setType("会员活动"); + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); + break; + case 4: + // 赠送会员订单 如果支付金额为0 那么就是后台赠送的会员 + if (tActivityStatisticslVO.getPaymentAmount().compareTo(BigDecimal.ZERO)==0){ + grantVip = grantVip.add(tActivityStatisticslVO.getOrderAmount()); + tActivityStatisticslVO.setType("赠送会员"); + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); + }else{ + // 赠送 + grantVip = grantVip.add(tActivityStatisticslVO.getVipDiscountAmount()); + tActivityStatisticslVO.setType("赠送会员"); + tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime()); + } + break; + } + } for (TActivityStatisticslVO tActivityStatisticslVO : list) { // 判断享有了哪些类型 switch (tActivityStatisticslVO.getOrderType()){ diff --git a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml index 15ee690..eebaec5 100644 --- a/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml +++ b/ruoyi-service/ruoyi-order/src/main/resources/mapper/order/TChargingOrderMapper.xml @@ -92,6 +92,9 @@ <if test="req.status != null "> and t1.status = #{req.status} </if> + <if test="req.orderSource != null and req.orderSource != 1 "> + and t1.orderSource = #{req.orderSource} + </if> <if test="req.siteId != null "> and t1.site_id = #{req.siteId} </if> @@ -108,6 +111,7 @@ and (t1.end_time between #{endTime1} and #{endTime2}) </if> and t1.del_flag = 0 + order by t1.create_time desc </select> <select id="payOrderQuery" resultType="com.ruoyi.order.dto.PayOrderDto"> SELECT o.*,i.phone FROM (SELECT @@ -872,6 +876,8 @@ <if test="endTime1 != null and endTime1!=''"> and (t1.end_time between #{endTime1} and #{endTime2}) </if> + and t1.start_time IS NOT NULL + order by t1.create_time desc </select> <select id="chargingListNoPage" resultType="com.ruoyi.order.api.vo.ChargingOrderListVO"> select t1.* from t_charging_order t1 -- Gitblit v1.7.1