From cbe9cbd4a99dafcf50418a8fa1e8ff7b0e4b6c72 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 31 May 2024 16:31:28 +0800
Subject: [PATCH] 图片上传

---
 src/main/java/cc/mrbird/febs/vip/service/impl/MallVipConfigServiceImpl.java |   26 +++++++++++++++++++++++---
 1 files changed, 23 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 c1a15ae..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
@@ -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
@@ -138,11 +149,20 @@
         }
 
         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;
             }
 
             // 生日权益
@@ -157,6 +177,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