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/HappyActivityOptionMapper.xml | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 54 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
index 1df7660..05101e2 100644
--- a/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
+++ b/src/main/resources/mapper/modules/HappyActivityOptionMapper.xml
@@ -11,7 +11,7 @@
a.type,
a.name,
a.state,
- (select count(z.id) from happy_follow z where z.source_id = a.id) as join_cnt,
+ (select count(z.id) from happy_follow z where z.source_id = a.id AND z.type IN (2, 3, 4)) as join_cnt,
a.start_time,
a.end_time
from happy_activity a
@@ -31,7 +31,7 @@
</if>
</where>
<if test="record.hotState != null">
- order by (select count(y.id) from happy_follow y where y.source_id = a.id and type in (2,3)) desc,a.order_cnt asc
+ order by (select count(y.id) from happy_follow y where y.source_id = a.id and type in (2, 3, 4)) desc,a.order_cnt asc
</if>
<if test="record.hotState == null">
order by a.order_cnt asc,a.id desc
@@ -177,4 +177,56 @@
order by a.created_time desc
</select>
+ <select id="activityOrderCheckList" resultType="cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo">
+ select
+ a.id,
+ a.code,
+ a.name,
+ a.phone,
+ a.address,
+ a.state,
+ CASE
+ WHEN a.state = 1 THEN a.UPDATED_TIME
+ ELSE NULL
+ END AS updatedTime,
+ b.name checkName,
+ b.phone checkPhone,
+ b.real_name checkRealName
+ from happy_activity_order_item a
+ left join mall_member b on b.id = a.transfer_item_id
+ <where>
+
+ and a.code is not null
+ <if test="record != null">
+ <if test="record.name != null and record.name != ''">
+ and (b.name like CONCAT('%', CONCAT(#{record.name}, '%'))
+ or b.real_name like CONCAT('%', CONCAT(#{record.name}, '%')))
+ </if>
+ <if test="record.code != null and record.code != ''">
+ and a.code = #{record.code}
+ </if>
+ <if test="record.state != null">
+ and a.state=#{record.state}
+ </if>
+ <if test="record.activityId != null">
+ and a.activity_id=#{record.activityId}
+ </if>
+ </if>
+ </where>
+ order by a.created_time desc
+ </select>
+
+ <select id="getOrderCheckListForExport" resultType="cc.mrbird.febs.mall.vo.activity.AdminHappyActivityOrderCheckVo">
+ select
+ a.*,
+ b.name checkName,
+ b.phone checkPhone,
+ b.real_name checkRealName
+ from happy_activity_order_item a
+ left join mall_member b on b.id = a.transfer_item_id
+ where a.code is not null
+ and a.activity_id=#{activityId}
+ order by a.created_time desc
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1