From f58050b2e5ba95be6dca3e617dfacb7a717d6096 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 16 May 2025 17:37:41 +0800
Subject: [PATCH] feat(mall): 添加会员等级图标并更新销售信息
---
src/main/resources/mapper/modules/MallGoodsMapper.xml | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index 1cb7ecf..8248c79 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -13,6 +13,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" />
@@ -29,6 +30,7 @@
<result property="levelOnePrice" column="level_one_price" />
<result property="levelTwoPrice" column="level_two_price" />
<result property="levelThreePrice" column="level_three_price" />
+ <result property="hasCollect" column="hasCollect" />
<collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
<id property="id" column="style_id" />
<result property="name" column="style_name" />
@@ -40,6 +42,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" />
@@ -55,6 +58,7 @@
<select id="selectGoodsDetailById" resultMap="MallGoodsMap">
select
a.*,
+ case when collection.id is null then 2 else 1 end hasCollect,
b.id style_id,
b.name style_name,
b.goods_id style_goods_id,
@@ -64,10 +68,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,
@@ -75,6 +81,7 @@
from mall_goods a
left join mall_goods_style b on a.id = b.goods_id
left join mall_goods_sku c on b.id=c.style_id
+ left join mall_member_collection collection on a.id=collection.goods_id
where a.id=#{id}
</select>
@@ -87,6 +94,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,
@@ -98,13 +106,19 @@
a.carriage_rule_id,
a.goods_weight,
a.order_number,
+ <if test="record.memberId != null">
+ case when collection.id is null then 2 else 1 end hasCollect,
+ </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
left join mall_goods_category c on a.category_id=c.id
+ <if test="record.memberId != null">
+ left join mall_member_collection collection on a.id=collection.goods_id and collection.member_id=#{record.memberId}
+ </if>
<where>
a.is_sale=1
<if test="record != null">
@@ -114,8 +128,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
@@ -254,6 +271,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}
@@ -286,10 +304,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>
@@ -328,6 +346,7 @@
a.thumb,
a.unit,
a.original_price,
+ FLOOR((a.original_price * a.static_prop)/100) staticPropPrice,
a.present_price,
a.score,
a.is_hot,
@@ -353,7 +372,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