From a44526de3a0ea91dc09c8d96c14c2bb8b880b49b Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sun, 26 Sep 2021 11:19:12 +0800 Subject: [PATCH] fix --- src/main/resources/mapper/modules/MallGoodsMapper.xml | 71 +++++++++++++++++++++++------------ 1 files changed, 46 insertions(+), 25 deletions(-) diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml index 3070af0..e8ec726 100644 --- a/src/main/resources/mapper/modules/MallGoodsMapper.xml +++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml @@ -54,33 +54,54 @@ </select> <select id="selectMallGoodsListQueryInPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo"> - select - a.id, - a.goods_name, - a.goods_introdution, - a.thumb, - a.original_price, - a.present_price, - sum(b.sku_volume) saleVolume - from mall_goods a - inner join mall_goods_sku b on a.id=b.goods_id - inner join mall_goods_category c on a.category_id=c.id - <where> - a.is_sale=1 - <if test="record != null"> - <if test="record.isHot != null and record.isHot != ''"> - and a.is_hot = 1 + select * from ( + select + a.id, + a.goods_name, + a.goods_introdution, + a.thumb, + a.original_price, + a.present_price, + a.is_hot, + min(b.present_price) price, + sum(b.sku_volume) saleVolume + from mall_goods a + inner join mall_goods_sku b on a.id=b.goods_id + inner join mall_goods_category c on a.category_id=c.id + <where> + a.is_sale=1 + <if test="record != null"> + <if test="record.isHot != null and record.isHot != ''"> + and a.is_hot = 1 + </if> + <if test="record.categoryId != null and record.categoryId != ''"> + and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId}) + </if> + <if test="record.query != null and record.query != ''"> + and a.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) + </if> </if> - <if test="record.categoryId != null and record.categoryId != ''"> - and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId}) - </if> - <if test="record.query != null and record.query != ''"> - and a.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) - </if> + </where> + group by a.id + order by a.id desc + ) a + <if test="record.sortType != null"> + <if test="record.sortType == 1"> + order by a.is_hot, a.saleVolume desc, a.id </if> - </where> - group by a.id - order by a.id desc + <if test="record.sortType == 2"> + order by a.saleVolume desc + </if> + <if test="record.sortType == 3 and record.sort == 'asc'"> + order by a.price + </if> + <if test="record.sortType == 3 and record.sort == 'desc'"> + order by a.price desc + </if> + <if test="record.sortType == 4"> + order by a.id desc + </if> + </if> </select> <select id="selectMallGoodsInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsVo"> -- Gitblit v1.9.1