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