xiaoyong931011
2021-09-26 7b4027c1ca254f7ab192cef2b40cbbbfa090e0d2
Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall
2 files modified
79 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/dto/MallGoodsQueryDto.java 8 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallGoodsMapper.xml 71 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/MallGoodsQueryDto.java
@@ -26,11 +26,11 @@
    @ApiModelProperty(value = "分类ID")
    private Long categoryId;
//    @ApiModelProperty(value = "排序字段, 默认created_time")
//    private String order = "created_time";
    @ApiModelProperty(value = "排序类型 1-综合排序 2-销量 3-价格 4-新品优先")
    private Integer sortType;
//
//    @ApiModelProperty(value = "升序/降序", example = "asc/desc")
//    private String sort = "desc";
    @ApiModelProperty(value = "升序/降序", example = "asc/desc")
    private String sort = "desc";
    @ApiModelProperty(value = "是否热卖", example = "1是2否")
    private Integer isHot;
src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -54,33 +54,54 @@
    </select>
    <select id="selectMallGoodsListQueryInPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo">
        select
            a.id,
            a.goods_name,
            a.goods_introdution,
            a.thumb,
            a.original_price,
            a.present_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
        <where>
            a.is_sale=1
            <if test="record != null">
                <if test="record.isHot != null and record.isHot != ''">
                    and a.is_hot = 1
        select * from (
            select
                a.id,
                a.goods_name,
                a.goods_introdution,
                a.thumb,
                a.original_price,
                a.present_price,
                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
            <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.categoryId != null and record.categoryId != ''">
                        and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId})
                    </if>
                    <if test="record.query != null and record.query != ''">
                        and a.goods_name like CONCAT('%', CONCAT(#{record.query}, '%'))
                    </if>
                </if>
                <if test="record.categoryId != null and record.categoryId != ''">
                    and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId})
                </if>
                <if test="record.query != null and record.query != ''">
                    and a.goods_name like CONCAT('%', CONCAT(#{record.query}, '%'))
                </if>
            </where>
            group by a.id
            order by a.id desc
        ) a
        <if test="record.sortType != null">
            <if test="record.sortType == 1">
                order by a.is_hot, a.saleVolume desc, a.id
            </if>
        </where>
        group by a.id
        order by a.id  desc
            <if test="record.sortType == 2">
                order by a.saleVolume desc
            </if>
            <if test="record.sortType == 3 and record.sort == 'asc'">
                order by a.price
            </if>
            <if test="record.sortType == 3 and record.sort == 'desc'">
                order by a.price desc
            </if>
            <if test="record.sortType == 4">
                order by a.id desc
            </if>
        </if>
    </select>
    <select id="selectMallGoodsInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsVo">