From 7c6f033b8754b07bf5c75ae8745a982d76f9abb4 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 23 Sep 2022 19:28:14 +0800
Subject: [PATCH] Merge branch 'group_buy' of http://120.27.238.55:7000/r/xc-mall into group_buy

---
 src/main/resources/mapper/modules/MallGoodsMapper.xml |  146 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 136 insertions(+), 10 deletions(-)

diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index 1ecb522..6f5ee74 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -9,11 +9,19 @@
         <result property="goodsIntrodution" column="goods_introdution" />
         <result property="unit" column="unit" />
         <result property="thumb" column="thumb" />
+        <result property="goodsParameter" column="goods_parameter" />
         <result property="goodsDetails" column="goods_details" />
         <result property="isSale" column="is_sale" />
         <result property="originalPrice" column="original_price" />
         <result property="presentPrice" column="present_price" />
         <result property="categoryId" column="category_id" />
+        <result property="volume" column="volume" />
+        <result property="stock" column="stock" />
+        <result property="score" column="score" />
+        <result property="goodsType" column="goods_type" />
+        <result property="hasCarriage" column="has_carriage" />
+        <result property="carriage" column="carriage" />
+        <result property="isNormal" column="is_normal" />
         <collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
             <id property="id" column="style_id" />
             <result property="name" column="style_name" />
@@ -22,7 +30,7 @@
                 <id property="id" column="sku_id" />
                 <result property="skuName" column="sku_name" />
                 <result property="skuImage" column="sku_image" />
-                <result property="stock" column="stock" />
+                <result property="stock" column="sku_stock" />
                 <result property="skuVolume" column="sku_volume" />
                 <result property="originalPrice" column="sku_original_price" />
                 <result property="presentPrice" column="sku_present_price" />
@@ -41,15 +49,15 @@
             c.id sku_id,
             c.sku_name,
             c.sku_image,
-            c.stock,
+            c.stock sku_stock,
             c.sku_volume,
             c.original_price sku_original_price,
             c.present_price sku_present_price,
             c.style_id sku_style_id,
             c.goods_id sku_goods_id
         from mall_goods a
-          inner join mall_goods_style b on a.id = b.goods_id
-          inner join mall_goods_sku c on b.id=c.style_id
+          left join mall_goods_style b on a.id = b.goods_id
+          left join mall_goods_sku c on b.id=c.style_id
         where a.id=#{id}
     </select>
 
@@ -58,21 +66,33 @@
             select
                 a.id,
                 a.goods_name,
-                a.goods_introdution,
+                a.goods_introdution goodsIntroduction,
                 a.thumb,
                 a.original_price,
                 a.present_price,
+                a.score,
                 a.is_hot,
+                min(b.id) skuId,
                 min(b.present_price) price,
+                sum(b.stock) stock,
                 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
+                 left join mall_goods_sku b on a.id=b.goods_id
+                 left 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
+                        and a.is_hot = #{record.isHot}
+                    </if>
+                    <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>
+                    <if test="record.goodsType == 3">
+                        and a.present_price = 0
                     </if>
                     <if test="record.categoryId != null and record.categoryId != ''">
                         and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId})
@@ -117,9 +137,11 @@
         a.original_price,
         a.present_price,
         a.is_hot,
+        a.score,
+        a.is_normal,
         b.name categaryName,
-        sum(c.sku_volume) skuVolume,
-        sum(c.stock) stock
+        IFNULL(sum(c.sku_volume), a.volume) skuVolume,
+        IFNULL(sum(c.stock), a.stock) stock
         from mall_goods a
         left join mall_goods_category b on b.id = a.category_id
         left join mall_goods_sku c on c.goods_id = a.id
@@ -128,8 +150,12 @@
                 <if test="record.goodsName != null and record.goodsName != ''">
                     and a.goods_name like CONCAT('%', CONCAT(#{record.goodsName}, '%'))
                 </if>
+                <if test="record.goodsType != null and record.goodsType != ''">
+                    and a.goods_type=#{record.goodsType}
+                </if>
             </if>
         </where>
+        group by a.id
         order by a.created_time desc
     </select>
 
@@ -137,8 +163,18 @@
         select count(id) from mall_goods a where a.goods_name = #{goodsName}
     </select>
 
+
+
+    <select id="selectMallGoodsCountByGoodsNameAndGoodId" resultType="java.lang.Integer">
+        select count(id) from mall_goods a where a.goods_name = #{goodsName} and a.id != #{id}
+    </select>
+
     <select id="selectMallGoodsCountByGoodsNo" resultType="java.lang.Integer">
         select count(id) from mall_goods a where a.goods_no = #{goodsNo}
+    </select>
+
+    <select id="selectMallGoodsCountByGoodsNoAndGoodId" resultType="java.lang.Integer">
+        select count(id) from mall_goods a where a.goods_no = #{goodsNo} and a.id != #{id}
     </select>
 
     <select id="selectMallGoodsInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo">
@@ -152,4 +188,94 @@
         from mall_goods_sku
         where goods_id=#{id}
     </select>
+
+    <select id="selectMallGoodsByCategaryId" resultType="cc.mrbird.febs.mall.entity.MallGoods">
+        select * from mall_goods a where a.category_id = #{categaryId}
+    </select>
+
+    <select id="getMallGoodsUpdateInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsUpdateVo">
+        select * from mall_goods a where a.id = #{id}
+    </select>
+
+    <select id="getAllGoodsTree" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsTreeVo">
+        select
+               a.id  goodsId,
+               a.goods_name  goodsName
+        from mall_goods a
+    </select>
+
+    <select id="selectOrderGoodsList" resultType="cc.mrbird.febs.mall.entity.MallGoods">
+        select a.*,c.order_no from mall_goods a
+            inner join mall_order_item b on a.id=b.goods_id
+            inner join mall_order_info c on b.order_id=c.ID
+        where c.status in (2, 3, 4) and b.is_normal=2
+        <if test="memberId != null">
+            and c.member_id=#{memberId}
+        </if>
+        <if test="date != null">
+            and date_format(c.pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
+        </if>
+    </select>
+
+    <select id="selectMallGoodsCommentListQueryInPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsCommentVo">
+        select
+        a.*,
+        b.name name,
+        b.avatar avatar
+        from mall_goods_comment a
+        left join mall_member b on b.id = a.member_id
+        <where>
+            <if test="record != null">
+                <if test="record.goodsId != null and record.goodsId != ''">
+                    and a.goods_id=#{record.goodsId}
+                </if>
+                <if test="record.commentType != null and record.commentType != '' and record.commentType == 1">
+                    and a.star <![CDATA[ > ]]> 4
+                </if>
+                <if test="record.commentType != null and record.commentType != '' and record.commentType == 2">
+                    and (a.star <![CDATA[ >= ]]> 3 and a.star <![CDATA[ <= ]]> 4)
+                </if>
+                <if test="record.commentType != null and record.commentType != '' and record.commentType == 3">
+                    and (a.star <![CDATA[ < ]]> 3 )
+                </if>
+            </if>
+        </where>
+        group by a.id
+        order by a.created_time desc
+    </select>
+
+    <select id="getDeliveryHomeListInPage" resultType="cc.mrbird.febs.mall.entity.DataDictionaryCustom">
+        SELECT
+            a.*
+        FROM
+            data_dictionary_custom a
+        where a.type = 'HOME_DELIVERY_SETTING'
+        GROUP BY a.id
+        ORDER BY
+            a.CREATED_TIME asc
+    </select>
+
+    <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[ >= ]]> 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
+        from mall_goods_comment a limit 1
+    </select>
+
+    <update id="upDateStockAndVolumeByGoodsId">
+        update mall_goods
+        set stock = stock - #{cnt},
+            volume = volume + #{cnt}
+        where id=#{id} and  stock - #{cnt} <![CDATA[ >= ]]> 0
+    </update>
+
+    <update id="updateStockAndVolumeByGoodsId">
+        update mall_goods
+        set stock = stock + #{cnt},
+            volume = volume - #{cnt}
+        where id=#{id} and  volume - #{cnt} <![CDATA[ >= ]]> 0
+    </update>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1