From 6184ec366a86d7c9c6884ce868be5e706a57b0e9 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sat, 08 Apr 2023 15:30:59 +0800
Subject: [PATCH] 设置内转开关

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

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index aa6ff88..bc1e7d1 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -72,6 +72,7 @@
     private final AgentProducer agentProducer;
     private final IPayService payService;
     private final IMallAchieveService mallAchieveService;
+    private final MallAchieveRecordMapper mallAchieveRecordMapper;
     private final UnipayService unipayService;
 
     private final MallMemberBankSignMapper mallMemberBankSignMapper;
@@ -327,45 +328,37 @@
                 orderInfo.setPayResult("1");
 
                 boolean hasTc = false;
-                // 静态倍数
+                BigDecimal achieveAmount = BigDecimal.ZERO;
                 List<MallOrderItem> orderItems = this.baseMapper.getMallOrderItemByOrderId(orderInfo.getId());
                 if (CollUtil.isNotEmpty(orderItems)) {
                     for (MallOrderItem orderItem : orderItems) {
                         MallGoods mallGoods = mallGoodsMapper.selectById(orderItem.getGoodsId());
-                        BigDecimal score = BigDecimal.ZERO;
                         MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
                         if (mallGoods.getIsNormal() == 2) {
                             hasTc = true;
-                            score = sku.getPresentPrice().multiply(mallGoods.getStaticMulti()).multiply(new BigDecimal(orderItem.getCnt()));
-//                            BigDecimal staticMulti = mallGoods.getStaticMulti() == null ? BigDecimal.ZERO : mallGoods.getStaticMulti();
-//                            score = sku.getPresentPrice().multiply(staticMulti);
-                            // 普通商品也及时结算,不再10天结算
-                        } else {
-                            score = sku.getPresentPrice();
-                        }
-
-                        if (score.compareTo(BigDecimal.ZERO) > 0) {
-                            memberWalletService.add(score, member.getId(), "score");
-                            mallMoneyFlowService.addMoneyFlow(member.getId(), score, MoneyFlowTypeEnum.STATIC_BONUS.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.SCORE.getValue());
-
-                            // 添加业绩
-                            mallAchieveService.add(orderItem.getId());
+                            achieveAmount = achieveAmount.add(sku.getPresentPrice().multiply(new BigDecimal(orderItem.getCnt())));
                         }
                     }
                 }
 
-                // 购买套餐后,升级为普通会员
-                if (hasTc) {
-                    MallMember mallMember = memberMapper.selectById(member.getId());
-                    if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) {
-                        mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name());
-                        memberMapper.updateById(mallMember);
+
+                if (hasTc){
+                    if(achieveAmount.compareTo(BigDecimal.ZERO) > 0) {
+                        // 添加业绩
+                        MallAchieveRecord mallAchieveRecord = new MallAchieveRecord();
+                        mallAchieveRecord.setMemberId(member.getId());
+                        mallAchieveRecord.setAmount(achieveAmount);
+                        mallAchieveRecord.setAchieveTime(orderInfo.getPayTime());
+                        mallAchieveRecord.setOrderId(orderInfo.getId());
+                        mallAchieveRecord.setIsNormal(2);
+                        mallAchieveRecord.setPayTime(orderInfo.getPayTime());
+                        mallAchieveRecordMapper.insert(mallAchieveRecord);
                     }
                 }
 
                 mallMoneyFlowService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
                 agentProducer.sendAutoLevelUpMsg(member.getId());
-                agentProducer.sendOrderReturn(orderInfo.getId());
+//                agentProducer.sendOrderReturn(orderInfo.getId());
                 agentProducer.sendReturnMoneyMsg(orderInfo.getId());
                 break;
             case "4":

--
Gitblit v1.9.1