From 75d8b0ad39a7eb04f72ef8654dbb895322f07cfd Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 21 Oct 2025 13:41:42 +0800
Subject: [PATCH] feat(ai): 新增会员答题分页及详情查询功能 - 在 AiMemberAnswerMapper 中新增 getAnswerPage 方法及对应 XML 查询语句 - 新增 ApiMemberAnswerPageDto 和 ApiMemberAnswerPageVo 用于分页查询参数和返回结果 - 在 AiMemberAnswerService 及其实现类中添加 getAnswerPage 方法 - 在 AiMemberService 及其实现类中新增 answerPage 和 answerInfo 接口实现 - 新增 ApiMemberAnswerInfoDto 和 ApiMemberAnswerInfoVo 用于答题详情接口参数和响应 - 在 ApiMemberController 中增加 /answerPage 和 /answerInfo两个 POST 接口 - 优化 AiMemberTeamPracticeVo,增加 memberUuid 字段 - 统一导入包路径,简化代码结构

---
 src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java b/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
index 5018e70..fdcf2d5 100644
--- a/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
+++ b/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
@@ -9,6 +9,7 @@
 import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.mall.mapper.MallGoodsCouponMapper;
 import cc.mrbird.febs.mall.service.IApiMallGoodsService;
+import cc.mrbird.febs.vip.VipSettingUnAliveSettingBo;
 import cc.mrbird.febs.vip.entity.MallVipBenefits;
 import cc.mrbird.febs.vip.entity.MallVipConfig;
 import cc.mrbird.febs.vip.entity.MallVipConfigBenefits;
@@ -17,6 +18,8 @@
 import cc.mrbird.febs.vip.service.IMallVipConfigService;
 import cc.mrbird.febs.vip.vo.VipSettingVo;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Controller;
@@ -73,6 +76,10 @@
         List<Long> goodsIds = new ArrayList<>();
         List<Long> couponIds = new ArrayList<>();
         vipBenefits.getDetails().forEach(item -> {
+            if (StrUtil.isBlank(item.getContent())) {
+                return;
+            }
+
             if (item.getIsClick() == 2) {
                 return;
             }
@@ -100,6 +107,10 @@
         Map<Long, MallGoodsCoupon> couponMap = coupons.stream().collect(Collectors.toMap(MallGoodsCoupon::getId, MallGoodsCoupon -> MallGoodsCoupon));
 
         vipBenefits.getDetails().forEach(item -> {
+            if (StrUtil.isBlank(item.getContent())) {
+                return;
+            }
+
             if (item.getIsClick() == 2) {
                 return;
             }
@@ -158,6 +169,14 @@
         VipSettingVo setting = new VipSettingVo();
         setting.setVipDate(data.getValue());
 
+        DataDictionaryCustom couponData = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.UNALIVE_COUPON.getType(), DataDictionaryEnum.UNALIVE_COUPON.getCode());
+        if (couponData != null && StrUtil.isNotBlank(couponData.getValue())) {
+            List<VipSettingUnAliveSettingBo> items = JSONObject.parseArray(couponData.getValue(), VipSettingUnAliveSettingBo.class);
+            setting.setItems(items);
+        }
+
+        DataDictionaryCustom rule = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.VIP_SCORE_RULE.getType(), DataDictionaryEnum.VIP_SCORE_RULE.getCode());
+        setting.setRule(rule.getValue());
         model.addAttribute("vipSetting", setting);
         return FebsUtil.view("modules/vip/vip-setting");
     }

--
Gitblit v1.9.1