xiaoyong931011
2021-11-11 6e6a5bbc6ed0bc05da9ed8c0ab9b55bde79c5b03
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},'%')
            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,23 +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  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">
@@ -69,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" />
@@ -96,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>