From 5cb35f00b996b09c749c909d54df45bf526645bc Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 29 Mar 2023 20:14:33 +0800
Subject: [PATCH] 根据补贴记录,减少用户贡献值

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   30 +++++++++++++++++++++++++-----
 1 files changed, 25 insertions(+), 5 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 b22cb17..0659ef7 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
@@ -461,9 +461,14 @@
                     BigDecimal star = (mallGoods.getStar()==null ? BigDecimal.ZERO : mallGoods.getStar())
                             .multiply(new BigDecimal(orderItem.getCnt()));
                     starSum = starSum.add(star);
+//                    scoreSum = scoreSum.add(
+//                            new BigDecimal(mallGoods.getPresentPrice())
+//                                    .multiply(new BigDecimal(3))
+//                                    .multiply(new BigDecimal(orderItem.getCnt()))
+//                                    .abs()
+//                                    .setScale(2,BigDecimal.ROUND_DOWN));
                     scoreSum = scoreSum.add(
                             new BigDecimal(mallGoods.getPresentPrice())
-                                    .multiply(new BigDecimal(3))
                                     .multiply(new BigDecimal(orderItem.getCnt()))
                                     .abs()
                                     .setScale(2,BigDecimal.ROUND_DOWN));
@@ -491,7 +496,8 @@
                                     starSum,
                                     MoneyFlowTypeEnum.STAR.getValue(),
                                     orderInfo.getOrderNo(),
-                                    FlowTypeEnum.STAR.getValue());
+                                    FlowTypeEnum.STAR.getValue(),
+                                    2);
                         }
                         if(starGet.compareTo(star) > 0){
                             BigDecimal subtract = starGet.subtract(star);
@@ -504,7 +510,8 @@
                                     starSum,
                                     MoneyFlowTypeEnum.STAR.getValue(),
                                     orderInfo.getOrderNo(),
-                                    FlowTypeEnum.STAR.getValue());
+                                    FlowTypeEnum.STAR.getValue(),
+                                    2);
                         }
                     }else{
                         mallMemberWalletMapper.addStarByMemberId(starSum.intValue(), memberId);
@@ -513,7 +520,8 @@
                                 starSum,
                                 MoneyFlowTypeEnum.STAR.getValue(),
                                 orderInfo.getOrderNo(),
-                                FlowTypeEnum.STAR.getValue());
+                                FlowTypeEnum.STAR.getValue(),
+                                2);
                     }
                 }
             }
@@ -521,13 +529,25 @@
              * 增加补贴额度
              */
             if (scoreSum.compareTo(BigDecimal.ZERO) > 0) {
+                MallMember mallMember = memberMapper.selectById(memberId);
+                if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) >= 5){
+                    scoreSum = scoreSum.multiply(new BigDecimal(3));
+                }
+                if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) >= 3
+                &&MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) < 5){
+                    scoreSum = scoreSum.multiply(new BigDecimal(2.8));
+                }
+                if(MemberLevelEnum.SECOND_LEVEL.getLevelCode(mallMember.getLevel()) < 3){
+                    scoreSum = scoreSum.multiply(new BigDecimal(2.5));
+                }
                 memberWalletService.add(scoreSum, memberId, "totalScore");
                 mallMoneyFlowService.addMoneyFlow(
                         memberId,
                         scoreSum,
                         MoneyFlowTypeEnum.TOTAL_SCORE.getValue(),
                         orderInfo.getOrderNo(),
-                        FlowTypeEnum.TOTAL_SCORE.getValue());
+                        FlowTypeEnum.TOTAL_SCORE.getValue(),
+                        2);
             }
         }
 

--
Gitblit v1.9.1