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