From ee83bd226e5eebef8124809ee42498c89ed29fb1 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com>
Date: 星期五, 27 九月 2024 15:42:19 +0800
Subject: [PATCH] 商品销量排序

---
 src/main/resources/mapper/flower/FlowerMapper.xml              |   14 ++++++++++----
 src/main/java/com/mzl/flower/service/flower/FlowerService.java |    5 +++--
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/flower/FlowerService.java b/src/main/java/com/mzl/flower/service/flower/FlowerService.java
index 9cc9169..f7f4821 100644
--- a/src/main/java/com/mzl/flower/service/flower/FlowerService.java
+++ b/src/main/java/com/mzl/flower/service/flower/FlowerService.java
@@ -693,9 +693,10 @@
     public Page<FlowerShowListDTO> myCollect(Page page, FlowerShowQueryDTO dto) {
         dto.setUserId(SecurityUtils.getUserId());
         if (StringUtils.isNotEmpty(dto.getColumn())) {
-            if(dto.getColumn().contains("sales")
-                    || dto.getColumn().contains("stock")){
+            if(dto.getColumn().contains("stock")){
                 dto.setColumn(dto.getColumn() + " desc");
+            } else if (dto.getColumn().contains("sales")) {
+                dto.setColumn("ifnull(sales, 0) + ifnull(real_sales, 0) desc");
             }
         }
 
diff --git a/src/main/resources/mapper/flower/FlowerMapper.xml b/src/main/resources/mapper/flower/FlowerMapper.xml
index 1da83a9..711835b 100644
--- a/src/main/resources/mapper/flower/FlowerMapper.xml
+++ b/src/main/resources/mapper/flower/FlowerMapper.xml
@@ -180,8 +180,11 @@
         <choose>
             <when test="condition.column != null and condition.column != '' and (condition.recommend == null or condition.zoneId != null)">
                 <choose>
-                    <when test="'f.sales'.equals(condition.column) or 'f.stock'.equals(condition.column)">
-                        order by ${condition.column} desc
+                    <when test="'f.sales'.equals(condition.column)">
+                        order by ifnull(f.sales, 0) + ifnull(f.real_sales, 0) desc
+                    </when>
+                    <when test="'f.stock'.equals(condition.column)">
+                        order by f.stock desc
                     </when>
                     <otherwise>
                         order by ${condition.column}, f.price
@@ -332,8 +335,11 @@
         <choose>
             <when test="condition.column != null and condition.column != ''">
                 <choose>
-                    <when test="'f.sales'.equals(condition.column) or 'f.stock'.equals(condition.column)">
-                        order by ${condition.column} desc
+                    <when test="'f.sales'.equals(condition.column)">
+                        order by ifnull(f.sales, 0) + ifnull(f.real_sales, 0) desc
+                    </when>
+                    <when test="'f.stock'.equals(condition.column)">
+                        order by f.stock desc
                     </when>
                     <otherwise>
                         order by ${condition.column} asc

--
Gitblit v1.9.3