From c97b518d5fbb570817ca835e96c1b8aa49b099e1 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 23 十月 2024 19:15:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TShoppingOrderServiceImpl.java |   86 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 80 insertions(+), 6 deletions(-)

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 e2d28d5..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()){
@@ -153,7 +225,9 @@
                         discount = discount.add(tActivityStatisticslVO.getVipDiscountAmount());
                         stringBuilder1.append("会员抵扣").append("+");
                     }
-                    stringBuilder1.deleteCharAt(stringBuilder1.length()-1);
+                    if (stringBuilder1.length()>0){
+                        stringBuilder1.deleteCharAt(stringBuilder1.length()-1);
+                    }
                     tActivityStatisticslVO.setType(stringBuilder1.toString());
                     tActivityStatisticslVO.setTime(tActivityStatisticslVO.getCreateTime());
                     break;
@@ -202,7 +276,7 @@
     public Map<String, Object> getMyShoppingOrderList(GetMyShoppingOrderList query) {
         Long userId = tokenService.getLoginUserApplet().getUserId();
         LambdaQueryWrapper<TShoppingOrder> wrapper = new LambdaQueryWrapper<TShoppingOrder>().eq(TShoppingOrder::getDelFlag, 0)
-                .eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2);
+                .eq(TShoppingOrder::getAppUserId, userId).eq(TShoppingOrder::getPaymentStatus, 2).notIn(TShoppingOrder::getStatus, Arrays.asList(5));
         if(query.getStatus() != 0){
             wrapper.eq(TShoppingOrder::getStatus, query.getStatus());
         }
@@ -255,7 +329,7 @@
         TAppUserAddress userAddress = appUserAddressClient.getAppUserAddressById(shoppingOrder.getAppUserAddressId()).getData();
         info.setConsignee(userAddress.getName());
         info.setPhone(userAddress.getPhone());
-        info.setAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getAddress());
+        info.setAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getAddress() + userAddress.getHouseNumber());
         info.setExpressCompany(shoppingOrder.getExpressCompany());
         info.setExpressNumber(shoppingOrder.getExpressNumber());
         String name = "";
@@ -372,8 +446,8 @@
             model.setOut_trade_no(shoppingOrder.getCode());
             model.setTransaction_id(shoppingOrder.getSerialNumber());
             model.setOut_refund_no(shoppingOrderRefund.getRefundCode());
-            model.setReason("取消订单");
-            model.setNotify_url("/order/t-shopping-order/cancelShoppingOrderWxRefund");
+            model.setReason("取消商城订单");
+            model.setNotify_url("/payment/wx/refund/notify");
             WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
             amount.setRefund(refundAmount.multiply(new BigDecimal(100)).intValue());
             amount.setTotal(shoppingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
@@ -390,7 +464,7 @@
             dto.setOutTradeNo(shoppingOrder.getCode());
             dto.setOutRequestNo(shoppingOrderRefund.getCode());
             dto.setRefundAmount(refundAmount.toString());
-            dto.setRefundReason("取消订单");
+            dto.setRefundReason("取消商城订单");
             RefundResp resp = aliPaymentClient.refund(dto).getData();
             if(null != resp){
                 this.updateById(shoppingOrder);

--
Gitblit v1.7.1