xiaoyong931011
2023-03-16 c0cae0a68ec2d917a9fad1f093a16b6d1d16af3c
src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -22,6 +22,10 @@
        <result property="hasCarriage" column="has_carriage" />
        <result property="carriage" column="carriage" />
        <result property="isNormal" column="is_normal" />
        <result property="carriageType" column="carriage_type" />
        <result property="carriageAmount" column="carriage_amount" />
        <result property="carriageRuleId" column="carriage_rule_id" />
        <result property="goodsWeight" column="goods_weight" />
        <collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
            <id property="id" column="style_id" />
            <result property="name" column="style_name" />
@@ -36,6 +40,8 @@
                <result property="presentPrice" column="sku_present_price" />
                <result property="styleId" column="sku_style_id"/>
                <result property="goodsId" column="sku_goods_id" />
                <result property="skuGoodsWeight" column="sku_goods_weight" />
                <result property="sample" column="sample" />
            </collection>
        </collection>
    </resultMap>
@@ -54,6 +60,8 @@
            c.original_price sku_original_price,
            c.present_price sku_present_price,
            c.style_id sku_style_id,
            c.goods_weight sku_goods_weight,
            c.sample sample,
            c.goods_id sku_goods_id
        from mall_goods a
          left join mall_goods_style b on a.id = b.goods_id
@@ -68,10 +76,16 @@
                a.goods_name,
                a.goods_introdution goodsIntroduction,
                a.thumb,
                a.unit,
                a.original_price,
                a.present_price,
                a.score,
                a.is_hot,
                a.carriage_type,
                a.carriage_amount,
                a.carriage_rule_id,
                a.goods_weight,
                a.order_number,
                min(b.id) skuId,
                min(b.present_price) price,
                sum(b.stock) stock,
@@ -103,11 +117,14 @@
                </if>
            </where>
            group by a.id
            order by a.id desc
            order by a.order_number ASC
        ) a
        <if test="record.sortType != null">
<!--            <if test="record.sortType == 1">-->
<!--                order by a.is_hot, a.saleVolume desc, a.id-->
<!--            </if>-->
            <if test="record.sortType == 1">
                order by a.is_hot, a.saleVolume desc, a.id
                order by a.order_number ASC
            </if>
            <if test="record.sortType == 2">
                order by a.saleVolume desc
@@ -278,6 +295,18 @@
        where id=#{id} and  volume - #{cnt} <![CDATA[ >= ]]> 0
    </update>
    <update id="updateCarriageRuleId">
        update mall_goods
        set carriage_rule_id = null
        where id=#{id}
    </update>
    <update id="updateCarriageAmount">
        update mall_goods
        set carriage_amount = null
        where id=#{id}
    </update>
    <select id="selectMallGoodsListQueryNoPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo">
        select * from (
        select
@@ -285,10 +314,16 @@
        a.goods_name,
        a.goods_introdution goodsIntroduction,
        a.thumb,
        a.unit,
        a.original_price,
        a.present_price,
        a.score,
        a.is_hot,
        a.carriage_type,
        a.carriage_amount,
        a.carriage_rule_id,
        a.goods_weight,
        a.order_number,
        min(b.id) skuId,
        min(b.present_price) price,
        sum(b.stock) stock,
@@ -320,11 +355,14 @@
            </if>
        </where>
        group by a.id
        order by a.id desc
        order by a.order_number ASC
        ) a
        <if test="record.sortType != null">
<!--            <if test="record.sortType == 1">-->
<!--                order by a.is_hot, a.saleVolume desc, a.id-->
<!--            </if>-->
            <if test="record.sortType == 1">
                order by a.is_hot, a.saleVolume desc, a.id
                order by a.order_number ASC
            </if>
            <if test="record.sortType == 2">
                order by a.saleVolume desc
@@ -341,4 +379,15 @@
        </if>
    </select>
    <select id="selectMallGoodsListQueryByRuleId" resultType="cc.mrbird.febs.mall.entity.MallGoods">
        select a.goods_name from mall_goods a where a.carriage_rule_id = #{id}
    </select>
    <select id="selectMallGoodsListQueryByRuleIdAndIsSale" resultType="cc.mrbird.febs.mall.entity.MallGoods">
        select a.goods_name
        from mall_goods a
        where a.carriage_rule_id = #{id}
            and a.is_sale = #{isSale}
    </select>
</mapper>