From 7043628d74a26cc09a3735c251567bf36f6219b6 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 24 Jun 2021 19:23:01 +0800
Subject: [PATCH] add goods details

---
 gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml |   49 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
index 776eeb4..2eb9cab 100644
--- a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
+++ b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsMapper.xml
@@ -43,14 +43,59 @@
         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
+            a.del_flag=0 and a.is_sale=1
             <if test="record.name != null and record.name != ''">
                 and a.name like CONCAT(CONCAT(#{record.name}, "%"), "%")
+            </if>
+            <if test="record.id != null and record.id != ''">
+                and a.id=#{record.id}
             </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}))
             </if>
         </where>
-        order by a.CREATED_TIME desc
+        group by a.id
+        order by a.id desc
+    </select>
+
+    <resultMap id="goodsDetailsMap" type="com.xzx.gc.shop.vo.XcxGoodsDetailVo">
+        <result property="name" column="name" />
+        <result property="thumb" column="thumb" />
+        <result property="presentPrice" column="present_price" />
+        <result property="originalPrice" column="original_price" />
+        <result property="isSale" column="is_sale" />
+        <result property="isQg" column="is_qg" />
+        <result property="qgStartTime" column="qg_start_time" />
+        <result property="qgEndTime" column="qg_end_time" />
+        <result property="details" column="details" />
+        <collection property="styles" ofType="com.xzx.gc.shop.vo.XcxGoodsDetailStyleVo" >
+            <id property="id" column="s_id" />
+            <result property="name" column="s_name" />
+            <collection property="skus" ofType="com.xzx.gc.shop.vo.XcxGoodsDetailSkuVo">
+                <id property="id" column="sku_id" />
+                <result property="name" column="sku_name" />
+                <result property="originalPrice" column="sku_original_price" />
+                <result property="presentPrice" column="sku_present_price" />
+                <result property="stock" column="sku_stock" />
+                <result property="quantity" column="sku_quantity" />
+            </collection>
+        </collection>
+    </resultMap>
+
+    <select id="selectGoodsDetailsById" resultMap="goodsDetailsMap">
+        select
+            a.*,
+            b.id s_id,
+            b.name s_name,
+            c.id sku_id,
+            c.name sku_name,
+            c.original_price sku_original_price,
+            c.present_price sku_present_price,
+            c.stock sku_stock,
+            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
+        where a.id=#{id}
     </select>
 </mapper>

--
Gitblit v1.9.1