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/resources/mapper/modules/MallMemberCouponMapper.xml |   72 ++++++++++++++++++++++++++++++++++--
 1 files changed, 68 insertions(+), 4 deletions(-)

diff --git a/src/main/resources/mapper/modules/MallMemberCouponMapper.xml b/src/main/resources/mapper/modules/MallMemberCouponMapper.xml
index 1e6aac9..ecde786 100644
--- a/src/main/resources/mapper/modules/MallMemberCouponMapper.xml
+++ b/src/main/resources/mapper/modules/MallMemberCouponMapper.xml
@@ -5,13 +5,21 @@
     <select id="selectListInPage" resultType="cc.mrbird.febs.mall.vo.MallMemberCouponVo">
         select
         a.*,
-               b.cost_amount costAmount,
-               b.real_amount realAmount
+        b.cost_amount costAmount,
+        b.real_amount realAmount,
+        b.type type
         from mall_member_coupon a
-        left join mall_goods_coupon b on b.id = a.coupon_id
+        INNER join mall_goods_coupon b on b.id = a.coupon_id and b.state = 2
         <where>
             a.member_id=#{record.memberId}
-            <if test="record.state != null and record.state != ''">
+            <if test="record.state == 1">
+                and a.state=#{record.state}
+                and a.expire_time &gt;= #{record.expireTime}
+            </if>
+            <if test="record.state == 2">
+                and a.state=#{record.state}
+            </if>
+            <if test="record.state == 3">
                 and a.state=#{record.state}
             </if>
             <if test="record.goodsId != null and record.goodsId != ''">
@@ -21,4 +29,60 @@
         order by a.CREATED_TIME desc
     </select>
 
+    <select id="selectListCreateInPage" resultType="cc.mrbird.febs.mall.vo.MallMemberCouponVo">
+        select
+        a.*,
+        b.cost_amount costAmount,
+        b.type type,
+        b.real_amount realAmount
+        from mall_member_coupon a
+        INNER join mall_goods_coupon b on b.id = a.coupon_id and b.state = 2
+        where
+            a.member_id=#{record.memberId}
+                and a.state=#{record.state}
+                and a.expire_time &gt;= #{record.expireTime}
+        and a.coupon_id in
+        <foreach collection = "list" item = "item"  separator=","  open = "(" close = ")" >
+            #{item}
+        </foreach >
+        order by a.CREATED_TIME desc
+    </select>
+
+    <select id="selectListByExpireTime" resultType="cc.mrbird.febs.mall.entity.MallMemberCoupon">
+        select
+            a.*
+        from mall_member_coupon a
+        where a.expire_time &lt;= #{date}
+        and a.state = 1
+    </select>
+
+    <select id="selectListByMemberIdAndGoodsIdAndCouponId" resultType="cc.mrbird.febs.mall.entity.MallMemberCoupon">
+        select
+            a.*
+        from mall_member_coupon a
+        where a.member_id = #{memberId}
+        and a.goods_id = #{goodsId}
+        and a.coupon_id = #{couponId}
+        and a.invite_id = #{inviteId}
+        and a.state = 1
+    </select>
+
+    <select id="selectListByMemberIdAndGoodsIdAndCouponIdWithOutInviteId" resultType="cc.mrbird.febs.mall.entity.MallMemberCoupon">
+        select
+            a.*
+        from mall_member_coupon a
+        where a.member_id = #{memberId}
+        and a.goods_id = #{goodsId}
+        and a.state = 1
+    </select>
+
+    <select id="selectListByMemberIdCouponIdWithOutInviteId" resultType="cc.mrbird.febs.mall.entity.MallMemberCoupon">
+        select
+            a.*
+        from mall_member_coupon a
+        where a.member_id = #{memberId}
+        and a.coupon_id = #{couponId}
+        and a.state = 1
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1