Helius
2022-05-10 5929b6021c56f523b0b960dac5caa765e6a14e7e
src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -14,6 +14,10 @@
        <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" />
        <collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
            <id property="id" column="style_id" />
            <result property="name" column="style_name" />
@@ -22,7 +26,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 +45,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>
@@ -62,17 +66,24 @@
                a.thumb,
                a.original_price,
                a.present_price,
                a.score,
                a.is_hot,
                min(b.present_price) price,
                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
                    </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 a.goods_type = #{record.goodsType}
                    </if>
                    <if test="record.categoryId != null and record.categoryId != ''">
                        and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId})
@@ -117,9 +128,10 @@
        a.original_price,
        a.present_price,
        a.is_hot,
        a.score,
        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 +140,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 +153,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">
@@ -156,4 +182,28 @@
    <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=4
        <if test="memberId != null">
            and c.member_id=#{memberId}
        </if>
        <if test="date != null">
            and date_format(c.receving_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
        </if>
    </select>
</mapper>