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