From d0871f4f1ce14c6b74ef8378fd41067cdd213b1a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 08 Apr 2024 00:26:09 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 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 c1a15ae..03b7aa1 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
@@ -46,7 +47,17 @@
 
     @Override
     public List<MallVipConfig> findConfigList() {
-        return this.baseMapper.selectVipConfigList();
+        List<MallVipConfig> configs = this.baseMapper.selectVipConfigList();
+        configs.forEach(item -> {
+            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;
     }
 
     @Override
@@ -145,6 +156,10 @@
                 return false;
             }
 
+            if (item.getGainType() == 3 && item.getScoreMultiple() != null) {
+                return true;
+            }
+
             // 生日权益
             if (item.getGainType() == 2 && isBirthday) {
                 return true;
@@ -157,6 +172,6 @@
             return item.getGainType() == 1 && StrUtil.equals(data.getValue(), todayTime);
         }).max(Comparator.comparing(MallVipBenefits::getScoreMultiple));
 
-        return max.orElseGet(max::get);
+        return max.orElse(null);
     }
 }

--
Gitblit v1.9.1