From 3d3960a3b3d1057db9d2f4016512915e7a5c517d Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 25 Sep 2025 09:56:21 +0800
Subject: [PATCH] feat(ai): 集成百炼工作流实现AI流式对话功能 - 新增百炼工作流SDK相关依赖和工具类 - 实现llmInvokeStreamingWithThink方法用于流式调用 - 配置API Key和应用ID以连接百炼平台 - 启用思考模式(enableThinking)和思维输出(hasThoughts) - 处理流式响应并封装为FebsResponse返回 - 添加异常处理机制捕获API调用错误 - 移除原有的静态提示词配置逻辑 -重构answerStreamV3接口直接调用新实现

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java
index f0b7090..ad51eb4 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallShoppingCartServiceImpl.java
@@ -13,6 +13,7 @@
 import cc.mrbird.febs.mall.mapper.MallShoppingCartMapper;
 import cc.mrbird.febs.mall.service.IApiMallShoppingCartService;
 import cc.mrbird.febs.mall.vo.ShoppingCartGoodsVo;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -47,10 +48,17 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void addGoodsToCart(List<AddCartDto> addCartDtoList) {
+        Long memberId = LoginUserUtil.getLoginUser().getId();
         for (AddCartDto addCartDto : addCartDtoList) {
             Long goodsId = null;
             Long skuId = null;
             Long styleId = null;
+            MallShoppingCart cartGoods = null;
+
+            if (addCartDto.getType() == null) {
+                addCartDto.setType(1);
+            }
+
             if (addCartDto.getType() == 1) {
                 MallGoodsSku sku = mallGoodsSkuMapper.selectById(addCartDto.getSkuId());
 
@@ -61,6 +69,8 @@
                 goodsId = sku.getGoodsId();
                 skuId = sku.getId();
                 styleId = sku.getStyleId();
+
+                cartGoods = this.baseMapper.selectCartGoodsBySkuId(addCartDto.getSkuId(), memberId);
             } else {
                 MallGoods mallGoods = mallGoodsMapper.selectById(addCartDto.getSkuId());
                 if (mallGoods == null) {
@@ -68,10 +78,14 @@
                 }
 
                 goodsId = mallGoods.getId();
-            }
-            Long memberId = LoginUserUtil.getLoginUser().getId();
 
-            MallShoppingCart cartGoods = this.baseMapper.selectCartGoodsBySkuId(addCartDto.getSkuId(), memberId);
+                LambdaQueryWrapper<MallShoppingCart> cartQuery = new LambdaQueryWrapper<>();
+                cartQuery.eq(MallShoppingCart::getGoodsId, goodsId)
+                        .eq(MallShoppingCart::getMemberId, memberId)
+                        .last("limit 1");
+                cartGoods = this.baseMapper.selectOne(cartQuery);
+            }
+
             if (cartGoods == null) {
                 cartGoods = new MallShoppingCart();
                 cartGoods.setGoodsId(goodsId);

--
Gitblit v1.9.1