From 895dc6191e123c372ce5ea8e92246081e208f4b6 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 11 Jun 2022 20:49:44 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 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 f8c4036..320def2 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
@@ -131,7 +131,7 @@
 
                 // 零撸专区购买
                 if (new BigDecimal(mallGoods.getPresentPrice()).compareTo(BigDecimal.ZERO) == 0) {
-                    List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId());
+                    List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId(), member.getId());
                     if (CollUtil.isNotEmpty(items)) {
                         throw new FebsException("无法重复领取同一个商品");
                     }
@@ -243,15 +243,24 @@
                 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;
-                            MallGoodsSku sku = mallGoodsSkuMapper.selectById(orderItem.getSkuId());
-                            BigDecimal score = sku.getOriginalPrice().multiply(mallGoods.getStaticMulti());
+                            score = sku.getPresentPrice().multiply(mallGoods.getStaticMulti());
 
+                            // 普通商品1:1 返还积分
+                        } else {
+                            if (!AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) {
+                                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());
                         }
+
                     }
                 }
 

--
Gitblit v1.9.1