From 75d8b0ad39a7eb04f72ef8654dbb895322f07cfd Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 21 Oct 2025 13:41:42 +0800
Subject: [PATCH] feat(ai): 新增会员答题分页及详情查询功能 - 在 AiMemberAnswerMapper 中新增 getAnswerPage 方法及对应 XML 查询语句 - 新增 ApiMemberAnswerPageDto 和 ApiMemberAnswerPageVo 用于分页查询参数和返回结果 - 在 AiMemberAnswerService 及其实现类中添加 getAnswerPage 方法 - 在 AiMemberService 及其实现类中新增 answerPage 和 answerInfo 接口实现 - 新增 ApiMemberAnswerInfoDto 和 ApiMemberAnswerInfoVo 用于答题详情接口参数和响应 - 在 ApiMemberController 中增加 /answerPage 和 /answerInfo两个 POST 接口 - 优化 AiMemberTeamPracticeVo,增加 memberUuid 字段 - 统一导入包路径,简化代码结构
---
src/main/resources/mapper/modules/MallGoodsMapper.xml | 28 +++++++++++++++++++++-------
1 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index 20c4977..84b0c3f 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -5,6 +5,8 @@
<resultMap id="MallGoodsMap" type="cc.mrbird.febs.mall.entity.MallGoods">
<id property="id" column="id" />
<result property="goodsNo" column="goods_no" />
+ <result property="storeAppId" column="store_app_id" />
+ <result property="storeGoodsId" column="store_goods_id" />
<result property="goodsName" column="goods_name" />
<result property="goodsIntrodution" column="goods_introdution" />
<result property="unit" column="unit" />
@@ -13,6 +15,7 @@
<result property="goodsDetails" column="goods_details" />
<result property="isSale" column="is_sale" />
<result property="originalPrice" column="original_price" />
+ <result property="staticPropPrice" column="staticPropPrice" />
<result property="presentPrice" column="present_price" />
<result property="categoryId" column="category_id" />
<result property="volume" column="volume" />
@@ -41,6 +44,7 @@
<result property="stock" column="sku_stock" />
<result property="skuVolume" column="sku_volume" />
<result property="originalPrice" column="sku_original_price" />
+ <result property="staticPropPrice" column="sku_static_prop_price" />
<result property="presentPrice" column="sku_present_price" />
<result property="styleId" column="sku_style_id"/>
<result property="goodsId" column="sku_goods_id" />
@@ -66,10 +70,12 @@
c.stock sku_stock,
c.sku_volume,
c.original_price sku_original_price,
+ FLOOR((a.original_price * a.static_prop)/100) staticPropPrice,
c.present_price sku_present_price,
c.style_id sku_style_id,
c.goods_weight sku_goods_weight,
c.sample sample,
+ FLOOR((c.original_price*a.static_prop)/100) sku_static_prop_price,
c.level_one_price sku_level_one_price,
c.level_two_price sku_level_two_price,
c.level_three_price sku_level_three_price,
@@ -90,6 +96,7 @@
a.thumb,
a.unit,
a.original_price,
+ FLOOR((a.original_price * a.static_prop)/100) staticPropPrice,
a.present_price,
a.level_one_price,
a.level_two_price,
@@ -106,7 +113,7 @@
</if>
min(b.id) skuId,
min(b.present_price) price,
- sum(b.stock) stock,
+ ifnull(sum(b.stock), a.stock) stock,
sum(b.sku_volume) saleVolume
from mall_goods a
left join mall_goods_sku b on a.id=b.goods_id
@@ -123,8 +130,11 @@
<if test="record.isNormal != null and record.isNormal != ''">
and a.is_normal = #{record.isNormal}
</if>
- <if test="record.goodsType != null and record.goodsType != '' and record.goodsType != 3">
- and a.goods_type = #{record.goodsType} and a.present_price != 0
+ <if test="record.goodsType != null and record.goodsType != '' and record.goodsType == 1">
+ and a.goods_type = #{record.goodsType}
+ </if>
+ <if test="record.goodsType != null and record.goodsType != '' and record.goodsType == 2">
+ and a.goods_type = #{record.goodsType}
</if>
<if test="record.goodsType == 3">
and a.present_price = 0
@@ -263,6 +273,7 @@
from mall_goods_comment a
left join mall_member b on b.id = a.member_id
<where>
+ and a.show_state =1
<if test="record != null">
<if test="record.goodsId != null and record.goodsId != ''">
and a.goods_id=#{record.goodsId}
@@ -295,10 +306,10 @@
<select id="findMallGoodsCommentLevelByGoodsId" resultType="cc.mrbird.febs.mall.vo.MallGoodsCommentVo">
select
- (select count(z.id) from mall_goods_comment z where z.goods_id = #{id} and z.star <![CDATA[ > ]]> 4) greatNum,
+ (select count(z.id) from mall_goods_comment z where z.goods_id = #{id} and z.star <![CDATA[ > ]]> 4 and z.show_state = 1) greatNum,
(select count(z.id) from mall_goods_comment z where z.goods_id = #{id}
- and (z.star <![CDATA[ >= ]]> 3 and z.star <![CDATA[ <= ]]> 4)) goodNum,
- (select count(z.id) from mall_goods_comment z where z.goods_id = #{id} and (z.star <![CDATA[ < ]]> 3 )) badNum
+ and (z.star <![CDATA[ >= ]]> 3 and z.star <![CDATA[ <= ]]> 4) and z.show_state = 1) goodNum,
+ (select count(z.id) from mall_goods_comment z where z.goods_id = #{id} and (z.star <![CDATA[ < ]]> 3 ) and z.show_state = 1) badNum
from mall_goods_comment a limit 1
</select>
@@ -333,10 +344,13 @@
select
a.id,
a.goods_name,
+ a.store_app_id,
+ a.store_goods_id,
a.goods_introdution goodsIntroduction,
a.thumb,
a.unit,
a.original_price,
+ FLOOR((a.original_price * a.static_prop)/100) staticPropPrice,
a.present_price,
a.score,
a.is_hot,
@@ -362,7 +376,7 @@
and a.is_normal = #{record.isNormal}
</if>
<if test="record.goodsType != null and record.goodsType != '' and record.goodsType != 3">
- and a.goods_type = #{record.goodsType} and a.present_price != 0
+ and a.goods_type = #{record.goodsType}
</if>
<if test="record.goodsType == 3">
and a.present_price = 0
--
Gitblit v1.9.1