From 24f7f046f8854d63839ad52d0cff34ea45a0f449 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期二, 12 十一月 2024 13:10:17 +0800
Subject: [PATCH] 优化

---
 src/main/java/com/mzl/flower/mapper/payment/OrderMapper.java |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mzl/flower/mapper/payment/OrderMapper.java b/src/main/java/com/mzl/flower/mapper/payment/OrderMapper.java
index 8068b0d..5c4ca5e 100644
--- a/src/main/java/com/mzl/flower/mapper/payment/OrderMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/payment/OrderMapper.java
@@ -6,8 +6,10 @@
 import com.mzl.flower.dto.response.payment.*;
 import com.mzl.flower.entity.payment.Order;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -36,4 +38,39 @@
     Order getUserLastOrder(@Param("userId") String userId);
 
     List<OrderPointGoodsListDTO> getPointGoodsList(@Param("orderId") String orderId);
+
+    @Select("SELECT t1.* " +
+            "FROM t_order t1 " +
+            "JOIN ( " +
+            "    SELECT create_by, MAX(receive_time) AS max_time " +
+            "    FROM t_order " +
+            "    where receive_time is not null  " +
+            "    GROUP BY create_by " +
+            "    HAVING max_time < NOW() - INTERVAL 30 DAY " +
+            ") t2 ON t1.create_by = t2.create_by AND t1.receive_time = t2.max_time " +
+            "LEFT JOIN t_customer_info c ON t1.create_by = c.user_id ")
+    List<Order> getOrderInfoByReceiveTime();
+
+    int getFlowerCompleteNumWithinTimeRange(@Param("userId") String userId ,@Param("flowerId") Long flowerId,
+                                            @Param("startTime") LocalDateTime startTime, @Param("endTime") LocalDateTime endTime);
+
+    List<OrderListExportDTO> selectOrderExportList(@Param("condition") OrderQueryDTO dto);
+
+
+    @Select("SELECT si.contact_tel " +
+            "FROM t_supplier_info si " +
+            "WHERE si.id IN ( " +
+            "    SELECT oi.supplier_id " +
+            "    FROM t_order_item oi " +
+            "    JOIN t_order q ON oi.order_id = q.id " +
+            "    WHERE q.deleted = 0 " +
+            "        AND q.status_backend = #{Status}  " +
+            "        AND q.payment_time >=  #{startTime}  " +
+            "        AND q.payment_time <=  #{endTime}  " +
+            "    GROUP BY oi.supplier_id " +
+            ")")
+    List<String> getWaitSendMessageInfoBySupplier(String Status, LocalDateTime startTime, LocalDateTime endTime);
+
+    BigDecimal getOrderSaleAmount(@Param("startTime") LocalDateTime startTime
+            , @Param("endTime") LocalDateTime endTime);
 }

--
Gitblit v1.9.3