From 8fd8e2f7c84446ab6bf84fe252053b85d9b20d30 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 30 Oct 2025 10:45:44 +0800
Subject: [PATCH] feat(ai): 简化AI对话项创建逻辑并新增连续对话类型 - 移除复杂的对话项更新逻辑,统一通过add方法创建新项 - 新增AiTalkOutputEnum枚举值CONTEXT_TALK用于AI陪练连续对话 - 更新ApiMemberTalkAnswerSavaDto注释以包含新的对话类型 - 修复对话项创建时类型参数未正确传递的问题 - 优化代码结构,减少冗余的条件判断和数据转换操作
---
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