From 529ad9dd8d1876b57e852bc45b602ba3ccc8df2a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 10 Apr 2024 17:19:08 +0800
Subject: [PATCH] 公告-首页公告调整

---
 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