From e2a0ea3a333e46b22152d1e90356db4d2cda5f66 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 29 Sep 2025 14:03:18 +0800
Subject: [PATCH] feat(ai): 新增阿里云百炼知识库工具类 - 添加 KnowledgeBaseUtil 工具类,封装阿里云百炼知识库操作 - 实现文件上传、知识库创建与更新等核心功能 - 支持文件MD5计算、分类管理、索引任务提交与状态查询 - 集成阿里云百炼SDK依赖,版本为2.5.0 - 提供完整的知识库初始化与文件更新流程示例 - 添加文件解析状态轮询与错误处理机制 - 支持知识库中文档的追加导入与旧文档删除功能

---
 src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java |   34 ++++++++++++++++++++++++++++++++++
 1 files changed, 34 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 ac63ffa..fdcf2d5 100644
--- a/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
+++ b/src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
@@ -1,18 +1,25 @@
 package cc.mrbird.febs.vip.controller;
 
 import cc.mrbird.febs.common.entity.FebsConstant;
+import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
 import cc.mrbird.febs.mall.entity.MallGoods;
 import cc.mrbird.febs.mall.entity.MallGoodsCoupon;
+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;
 import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
 import cc.mrbird.febs.vip.service.IMallVipConfigBenefitsService;
 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;
@@ -36,6 +43,7 @@
     private final MallGoodsCouponMapper mallGoodsCouponMapper;
     private final IMallVipConfigService mallVipConfigService;
     private final IMallVipConfigBenefitsService mallVipConfigBenefitsService;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
     @GetMapping(value = "/benefitsList")
     public String benefitsList() {
@@ -68,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;
             }
@@ -95,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;
             }
@@ -146,4 +162,22 @@
         model.addAttribute("configData", vipConfig);
         return FebsUtil.view("modules/vip/vipConfig-edit");
     }
+
+    @GetMapping(value = "/vipSetting")
+    public String vipSetting(Model model) {
+        DataDictionaryCustom data = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.VIP_DATE.getType(), DataDictionaryEnum.VIP_DATE.getCode());
+        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