From 45c8db9f7f9b05480d5234177e6743fd0c8a1e40 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 22 Jan 2025 18:02:09 +0800
Subject: [PATCH] refactor(mall): 重构订单确认和删除方法的验证逻辑 - 使用 ValidateEntityUtils 工具类统一处理实体验证逻辑 - 提高代码复用性,减少重复代码 - 增加 ensureNotEqual 方法用于验证两个值不相等

---
 src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java
index 1972463..224fd19 100644
--- a/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java
@@ -28,6 +28,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -48,9 +49,13 @@
     public List<MallVipConfig> findConfigList() {
         List<MallVipConfig> configs = this.baseMapper.selectVipConfigList();
         configs.forEach(item -> {
-            item.getBenefits().forEach(benefits -> {
+            List<MallVipBenefits> data = item.getBenefits().stream().filter(benefit -> {
+                return benefit.getIsShow() == 1;
+            }).peek(benefits -> {
                 benefits.setIsJump(CollUtil.isEmpty(benefits.getDetails()) ? 2 : 1);
-            });
+            }).collect(Collectors.toList());
+
+            item.setBenefits(data);
         });
         return configs;
     }
@@ -144,13 +149,22 @@
         }
 
         String today = DateUtil.format(new Date(), DatePattern.NORM_DATE_PATTERN);
-        boolean isBirthday = member.getBirthday().compareTo(DateUtil.parseDate(today)) == 0;
+        boolean isBirthday;
+        if (member.getBirthday() != null) {
+             isBirthday = member.getBirthday().compareTo(DateUtil.parseDate(today)) == 0;
+        } else {
+            isBirthday = false;
+        }
         List<MallVipBenefits> benefits = vipConfig.getBenefits();
         Optional<MallVipBenefits> max = benefits.stream().filter(item -> {
             if (item.getScoreMultiple() == null) {
                 return false;
             }
 
+            if (item.getGainType() == 3 && item.getScoreMultiple() != null) {
+                return true;
+            }
+
             // 生日权益
             if (item.getGainType() == 2 && isBirthday) {
                 return true;

--
Gitblit v1.9.1