From 6e6a5bbc6ed0bc05da9ed8c0ab9b55bde79c5b03 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 11 Nov 2021 15:35:46 +0800
Subject: [PATCH] 20211108

---
 gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml |   80 +++++++++++++++++++++++++++++++++++----
 1 files changed, 71 insertions(+), 9 deletions(-)

diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
index 45b4654..76638ae 100644
--- a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
+++ b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
@@ -5,18 +5,64 @@
     <select id="queryGoodsList" resultType="com.xzx.gc.shop.vo.QueryGoodsListVo">
         SELECT
                a.*,
-        a.CREATED_TIME createTime
+        a.CREATED_TIME createTime,
+               (
+            SELECT
+            ifnull(sum(b.stock),0)
+            FROM
+            xzx_score_goods_sku b
+            WHERE 1 = 1
+            and b.goods_id = a.id
+                   ) stock
         FROM
         xzx_score_goods a
+
         WHERE 1 = 1
+        and a.del_flag = 0
         <if test="name != null and name != ''">
             and (a.name like concat('%',#{name},'%') or a.goods_no like concat('%',#{name},'%'))
         </if>
+
+        <if test="isQg != null and isQg != ''">
+            and a.is_qg= #{isQg}
+        </if>
+
+        <if test="isSale != null and isSale != ''">
+            and a.is_sale= #{isSale}
+        </if>
+
 <!--        <if test="delFlag == 0 or delFlag == 1">-->
 <!--            and a.del_flag = #{delFlag}-->
 <!--        </if>-->
-        and a.del_flag = 0
-        order by a.CREATED_TIME desc
+        order by
+        <if test="namePx != null and namePx != '' and namePx == 1">
+            a.qg_start_time
+        </if>
+        <if test="namePx != null and namePx != '' and namePx == 2">
+            a.qg_end_time
+        </if>
+        <if test="namePx != null and namePx != '' and namePx == 3">
+            a.is_sale
+        </if>
+        <if test="namePx != null and namePx != '' and namePx == 4">
+            a.present_price + 0
+        </if>
+        <if test="namePx != null and namePx != '' and namePx == 5">
+            a.original_price + 0
+        </if>
+        <if test="namePx != null and namePx != '' and namePx == 6">
+            stock
+        </if>
+        <if test="namePx != null and namePx != '' and namePx == 7">
+            a.CREATED_TIME
+        </if>
+
+        <if test="typePx != null and typePx != '' and typePx == 1">
+            asc
+        </if>
+        <if test="typePx != null and typePx != '' and typePx == 2">
+            desc
+        </if>
     </select>
 
 
@@ -40,26 +86,41 @@
         select
             a.*,
             sum(b.quantity) quantity,
-            sum(b.stock) stock
+            sum(b.stock) stock,
+            min(b.present_price) minPrice
         from xzx_score_goods a
         inner join xzx_score_goods_sku b on a.id=b.goods_id and b.del_flag=0
         <where>
             a.del_flag=0 and a.is_sale=1
+            <if test="record.minScore != null" >
+                and b.present_price >= #{record.minScore}
+            </if>
+            <if test="record.maxScore != null">
+                and #{record.maxScore} > b.present_price
+            </if>
             <if test="record.name != null and record.name != ''">
-                and a.name like CONCAT(CONCAT(#{record.name}, "%"), "%")
+                and a.name like concat('%',#{record.name},'%')
             </if>
             <if test="record.id != null and record.id != ''">
                 and a.id=#{record.id}
             </if>
             <if test="record.isQg != null and record.isQg != ''">
-                and a.is_qg=#{record.isQg} and now() > a.qg_end_time
+                and a.is_qg=#{record.isQg} and  a.qg_end_time > now()
             </if>
             <if test="record.cateId != null and record.cateId != ''">
-                and (a.category_id = #{record.cateId} or a.category in (select id from xzx_score_goods_category where parent_id=#{record.cateId}))
+                and (a.category_id = #{record.cateId} or a.category_id in (select id from xzx_score_goods_category where parent_id=#{record.cateId}))
             </if>
         </where>
         group by a.id
-        order by a.id desc
+        <if test="record.sort == 1">
+            order by a.id desc
+        </if>
+        <if test="record.sort == 2">
+            order by quantity desc
+        </if>
+        <if test="record.sort == 3">
+            order by minPrice desc
+        </if>
     </select>
 
     <resultMap id="goodsDetailsMap" type="com.xzx.gc.shop.vo.XcxGoodsDetailVo">
@@ -72,6 +133,7 @@
         <result property="qgStartTime" column="qg_start_time" />
         <result property="qgEndTime" column="qg_end_time" />
         <result property="details" column="details" />
+        <result property="quotaTime" column="quota_time" />
         <collection property="styles" ofType="com.xzx.gc.shop.vo.XcxGoodsDetailStyleVo" >
             <id property="id" column="s_id" />
             <result property="name" column="s_name" />
@@ -99,7 +161,7 @@
             c.quantity sku_quantity
         from xzx_score_goods a
         inner join xzx_score_goods_style b on a.id = b.goods_id and b.del_flag = 0
-        inner join xzx_score_goods_sku c on a.id = c.goods_id and c.del_flag = 0
+        inner join xzx_score_goods_sku c on b.id = c.style_id and c.del_flag = 0
         where a.id=#{id}
     </select>
 </mapper>

--
Gitblit v1.9.1