From 7b4027c1ca254f7ab192cef2b40cbbbfa090e0d2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sun, 26 Sep 2021 14:44:18 +0800
Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-mall
---
src/main/resources/mapper/modules/MallGoodsMapper.xml | 71 +++++++++++++++++++++++------------
src/main/java/cc/mrbird/febs/mall/dto/MallGoodsQueryDto.java | 8 ++--
2 files changed, 50 insertions(+), 29 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MallGoodsQueryDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MallGoodsQueryDto.java
index ba61cd9..d4b6314 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/MallGoodsQueryDto.java
+++ b/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;
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index 3070af0..e8ec726 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/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">
--
Gitblit v1.9.1