From 32788c14d2900c460f992d931f8b00af82fd0ede Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Sun, 04 Feb 2024 10:44:29 +0800
Subject: [PATCH] 确认收货更新用户的会员信息

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 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 aa7fd5e..572d0c9 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
@@ -735,6 +735,23 @@
             }
         }
 
+        Integer isMember = member.getIsMember();
+        if(AppContants.MEMBER_STATE_NO == isMember){
+            List<MallOrderInfo> mallOrderInfos = this.baseMapper.selectOrderInfoByStatus(OrderStatusEnum.FINISH.getValue());
+            if(CollUtil.isNotEmpty(mallOrderInfos)){
+                DataDictionaryCustom minAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                        DataDictionaryEnum.MIN_AMOUNT_IS_MEMBER.getType(),
+                        DataDictionaryEnum.MIN_AMOUNT_IS_MEMBER.getCode()
+                );
+                BigDecimal minAmount = new BigDecimal(minAmountDic.getValue());//系统设置的累计消费金额
+                BigDecimal accumulateAmount = mallOrderInfos.stream().map(MallOrderInfo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);//累计消费金额
+                if(minAmount.compareTo(accumulateAmount) <= 0){//用户累计消费大于系统设置的累计消费
+                    member.setIsMember(AppContants.MEMBER_STATE_YES);
+                    memberMapper.updateById(member);
+                }
+            }
+        }
+
     }
 
     @Override

--
Gitblit v1.9.1