From 413a57e2524cb0b839d5d83d961de3b59814eb6e Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 24 Oct 2025 16:53:11 +0800
Subject: [PATCH] feat(ai): 实现产品依赖解锁功能 - 在AiMemberAnswerServiceImpl中注入AiProductDependencyService和AiMemberProductUnlockService - 修改insure方法,根据答题分数解锁符合条件的产品 - 新增selectListByProductIds和insertList方法到AiMemberProductUnlockService - 实现产品依赖关系查询方法selectListByProductId到AiProductDependencyService- 在AiProductServiceImpl中增加产品状态判断逻辑,支持锁定和解锁状态显示 - 添加memberId字段到ApiProductPageDto用于查询用户已解锁产品 - 在ApiProductVo中新增state字段表示产品锁定/解锁状态

---
 src/main/java/cc/mrbird/febs/mall/controller/order/ViewMallOrderController.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/order/ViewMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/order/ViewMallOrderController.java
index f1417d8..a868dc7 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/order/ViewMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/order/ViewMallOrderController.java
@@ -6,6 +6,7 @@
 import cc.mrbird.febs.common.utils.FebsUtil;
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.entity.MallExpressInfo;
+import cc.mrbird.febs.mall.entity.MallOrderInfo;
 import cc.mrbird.febs.mall.entity.MallOrderRefund;
 import cc.mrbird.febs.mall.mapper.MallExpressInfoMapper;
 import cc.mrbird.febs.mall.mapper.MallInvoiceMapper;
@@ -17,6 +18,7 @@
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
@@ -82,9 +84,16 @@
     @RequiresPermissions("deliverGoods:update")
     public String deliverGoods(@PathVariable long id, Model model) {
         AdminMallOrderVo data = adminMallOrderService.getMallOrderInfoById(id);
+        MallOrderInfo mallOrderInfo = adminMallOrderService.getBaseMapper().selectById(id);
         data.setExpressCom("极兔快递");
-        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(id);
-        if(ObjectUtil.isNotEmpty(mallExpressInfo)){
+        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectOne(
+                Wrappers.lambdaQuery(MallExpressInfo.class)
+                        .eq(MallExpressInfo::getOrderId, id)
+                        .eq(MallExpressInfo::getOrderNo, mallOrderInfo.getOrderNo())
+                        .last("limit 1")
+        );
+//        MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(id);
+        if(ObjectUtil.isNotNull(mallExpressInfo)){
             data.setExpressNo(mallExpressInfo.getExpressNo());
             data.setExpressCom(mallExpressInfo.getExpressCom());
         }else{

--
Gitblit v1.9.1