From c619972c50577bb699be6ee099b5e2741882fabb Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 27 Dec 2023 16:15:59 +0800
Subject: [PATCH] 直推奖励,冻结的用户,则直推奖励销毁,用户未冻结才能领取成功

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java |   55 ++++++++++++++++---------------------------------------
 1 files changed, 16 insertions(+), 39 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java
index 466ce26..3616044 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallAppServiceImpl.java
@@ -21,6 +21,7 @@
 import cn.hutool.crypto.SecureUtil;
 import cn.hutool.crypto.asymmetric.KeyType;
 import cn.hutool.crypto.asymmetric.RSA;
+import cn.hutool.db.sql.Order;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -168,32 +169,6 @@
                 }else{
                     totalCarriage = total;
                 }
-                //减少用户积分和余额
-//                BigDecimal avaAmount = totalCarriage;//剩余需要折扣的金额
-//                if(avaAmount.compareTo(memberAmount) >= 0){
-//                    //清零用户的积分和余额
-//                    mallMemberWallet.setBalance(BigDecimal.ZERO);
-//                    mallMemberWallet.setScore(BigDecimal.ZERO);
-//                    mallMemberWalletMapper.updateBalanceScoreWithId(mallMemberWallet);
-//                }else{
-//                    /**
-//                     * 先扣积分,再扣余额
-//                     */
-//                    if(avaAmount.compareTo(score) >= 0){
-//                        mallMemberWallet.setScore(BigDecimal.ZERO);
-//                        avaAmount = avaAmount.subtract(score);
-//                    }else{
-//                        mallMemberWallet.setScore(score.subtract(avaAmount));
-//                        avaAmount = BigDecimal.ZERO;
-//                    }
-//                    //积分不够
-//                    if(avaAmount.compareTo(BigDecimal.ZERO) > 0){
-//                        mallMemberWallet.setBalance(balance.subtract(avaAmount));
-//                    }else{
-//                        mallMemberWallet.setBalance(balance);
-//                    }
-//                    mallMemberWalletMapper.updateBalanceScoreWithId(mallMemberWallet);
-//                }
             }
             orderInfo.setCarriage(totalCarriage);
         }
@@ -319,10 +294,10 @@
         if(ObjectUtil.isNotEmpty(apiGetOrderListVo)){
             apiGetOrderListVo.setItems(mallOrderItemMapper.getAppOrderItemByOrderId(apiGetOrderListVo.getId()));
         }
-        mallOrderInfoMapper.deleteById(orderId);
-        QueryWrapper<MallOrderItem> mallOrderItemQuery = new QueryWrapper<>();
-        mallOrderItemQuery.eq("order_id",orderId);
-        mallOrderItemMapper.delete(mallOrderItemQuery);
+//        mallOrderInfoMapper.deleteById(orderId);
+//        QueryWrapper<MallOrderItem> mallOrderItemQuery = new QueryWrapper<>();
+//        mallOrderItemQuery.eq("order_id",orderId);
+//        mallOrderItemMapper.delete(mallOrderItemQuery);
         return new FebsResponse().success().data(apiGetOrderListVo);
     }
 
@@ -336,6 +311,7 @@
     }
 
     @Override
+    @Transactional
     public FebsResponse wxCodePay(ApiWxCodePayDto wxCodePayDto) {
         Long orderId = wxCodePayDto.getOrderId();
         MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(orderId);
@@ -378,10 +354,19 @@
                 }
             }
         }
+        String wxPayCode = wxCodePayDto.getWxPayCode();
+        mallOrderInfo.setTakeCode(wxPayCode);
+        List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId);
+        if(CollUtil.isEmpty(appOrderItemByOrderId)){
+            mallOrderInfo.setName("商品");
+        }else{
+            mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName());
+        }
+        mallOrderInfo.setStatus(OrderStatusEnum.FINISH.getValue());
+        mallOrderInfoMapper.updateById(mallOrderInfo);
         // 发起付款码支付请求
         String payResult = "支付成功";
         if(amount.subtract(carriage).compareTo(BigDecimal.ZERO) > 0){
-            String wxPayCode = wxCodePayDto.getWxPayCode();
             /**
              * auth_code 扫码支付付款码 微信付款码规则:18位纯数字,前缀以10、11、12、13、14、15开头
              */
@@ -390,14 +375,6 @@
             if(!flag){
                 throw new FebsException("请打开微信付款码!");
             }
-            mallOrderInfo.setTakeCode(wxPayCode);
-            List<ApiGetOrderOrderItemVo> appOrderItemByOrderId = mallOrderItemMapper.getAppOrderItemByOrderId(orderId);
-            if(CollUtil.isEmpty(appOrderItemByOrderId)){
-                mallOrderInfo.setName("商品");
-            }else{
-                mallOrderInfo.setName(appOrderItemByOrderId.get(0).getGoodsName());
-            }
-            mallOrderInfoMapper.updateById(mallOrderInfo);
             payResult = xcxCodePayService.pay(mallOrderInfo);
         }
         return new FebsResponse().success().message(payResult);

--
Gitblit v1.9.1