From 076c7f1df538ed9c04701ebda3f6fe11c47e91e4 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 25 九月 2025 17:16:11 +0800
Subject: [PATCH] 订单统计

---
 framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java |   72 +++++++++++++++++++++++++++++++++---
 1 files changed, 66 insertions(+), 6 deletions(-)

diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
index 15827e4..185947a 100644
--- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
+++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
@@ -13,7 +13,9 @@
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 璁㈠崟鏁版嵁澶勭悊灞�
@@ -60,8 +62,11 @@
             "oi.after_sale_status AS after_sale_status," +
             "o.logistics_time AS logistics_time," +
             "o.complete_time AS complete_time," +
-            "o.store_name AS store_name " +
-            " FROM li_order o LEFT JOIN li_order_item oi ON oi.order_sn = o.sn ${ew.customSqlSegment}")
+            "o.store_name AS store_name, " +
+            "m.nick_name AS nickName" +
+            " FROM li_order o LEFT JOIN li_order_item oi ON oi.order_sn = o.sn " +
+            "LEFT JOIN li_member m on m.id = o.member_id " +
+            "${ew.customSqlSegment}")
     List<OrderExportDTO> queryExportOrder(@Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
 
     /**
@@ -86,6 +91,36 @@
             "o.consignee_name AS consigneeName," +
             "o.consignee_mobile AS consigneeMobile," +
             "o.member_id AS memberId," +
+            "m.nick_name AS nickName," +
+            "o.modify_address_flag AS modifyAddressFlag,"+
+            " GROUP_CONCAT(oi.goods_id) as group_goods_id," +
+            " GROUP_CONCAT(oi.sku_id) as group_sku_id," +
+            " GROUP_CONCAT(oi.num) as group_num" +
+            ",GROUP_CONCAT(oi.image) as group_images" +
+            ",GROUP_CONCAT(oi.goods_name) as group_name " +
+            ",GROUP_CONCAT(oi.after_sale_status) as group_after_sale_status" +
+            ",GROUP_CONCAT(oi.complain_status) as group_complain_status" +
+            ",GROUP_CONCAT(oi.comment_status) as group_comment_status" +
+            ",GROUP_CONCAT(oi.sn) as group_order_items_sn " +
+            ",GROUP_CONCAT(oi.goods_price) as group_goods_price " +
+            ",GROUP_CONCAT(oi.is_refund) as group_is_refund " +
+            ",GROUP_CONCAT(oi.refund_price) as group_refund_price " +
+            " FROM li_order o LEFT JOIN li_order_item AS oi on o.sn = oi.order_sn " +
+            "LEFT JOIN li_member m on m.id = o.member_id " +
+            "${ew.customSqlSegment}")
+    IPage<OrderSimpleVO> queryByParams(IPage<OrderSimpleVO> page, @Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
+
+    /**
+     * 鑾峰緱鎸囧畾鐢ㄦ埛鐨勮鍗�
+     * @param queryWrapper
+     * @return
+     */
+    @Select("select o.sn,o.flow_price,o.create_time,o.order_status,o.pay_status,o.payment_method,o.payment_time,o.member_name,o.store_name as " +
+            "store_name,o.store_id as store_id,o.client_type,o.order_type,o.deliver_status,o.order_promotion_type,o.seller_remark, " +
+            "o.consignee_name AS consigneeName," +
+            "o.consignee_mobile AS consigneeMobile," +
+            "o.member_id AS memberId," +
+            "o.modify_address_flag AS modifyAddressFlag,"+
             " GROUP_CONCAT(oi.goods_id) as group_goods_id," +
             " GROUP_CONCAT(oi.sku_id) as group_sku_id," +
             " GROUP_CONCAT(oi.num) as group_num" +
@@ -100,8 +135,7 @@
             ",GROUP_CONCAT(oi.refund_price) as group_refund_price " +
             " FROM li_order o LEFT JOIN li_order_item AS oi on o.sn = oi.order_sn " +
             "${ew.customSqlSegment}")
-
-    IPage<OrderSimpleVO> queryByParams(IPage<OrderSimpleVO> page, @Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
+    List<OrderSimpleVO> queryByParamsCount(@Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
     /**
      * 鏌ヨ璁㈠崟绠�鐭俊鎭垎椤�
      *
@@ -109,8 +143,8 @@
      * @param queryWrapper 鏌ヨ鏉′欢
      * @return 绠�鐭鍗曞垎椤�
      */
-    @Select("select o.sn,o.flow_price,o.create_time,o.order_status,o.pay_status,o.payment_method,o.payment_time,o.member_name,o.store_name as " +
-            "store_name,o.store_id as store_id,o.client_type,o.order_type,o.deliver_status,o.order_promotion_type,o.seller_remark " +
+    @Select("select o.id,o.sn,o.flow_price,o.create_time,o.order_status,o.pay_status,o.payment_method,o.payment_time,o.member_name,o.store_name as " +
+            "store_name,o.store_id as store_id,o.client_type,o.order_type,o.deliver_status,o.order_promotion_type,o.seller_remark,o.coupon_flag " +
             ",GROUP_CONCAT(oi.goods_id) as group_goods_id," +
             " GROUP_CONCAT(oi.sku_id) as group_sku_id," +
             " GROUP_CONCAT(oi.num) as group_num" +
@@ -160,4 +194,30 @@
     List<Order> queryListByParams(@Param(Constants.WRAPPER) Wrapper<Order> queryWrapper);
 
 
+    @Select("SELECT " +
+            "  DATE(create_time) AS day, " +
+            "  COUNT(*) AS count " +
+            "  FROM" +
+            "  li_order o" +
+            "  WHERE " +
+            "  o.create_time BETWEEN #{startTime} AND #{endTime} " +
+            "  GROUP BY" +
+            "  day " +
+            "  ORDER BY " +
+            "  day ASC")
+    List<Map<String, Object>>  selectOrderCountByDay(Date startTime, Date endTime);
+
+    @Select("SELECT " +
+            "  DATE(create_time) AS day, " +
+            "  HOUR(create_time) AS hour," +
+            "  COUNT(*) AS count " +
+            "  FROM" +
+            "  li_order o" +
+            "  WHERE " +
+            "  o.create_time BETWEEN #{startTime} AND #{endTime} " +
+            "  GROUP BY" +
+            "  day " +
+            "  ORDER BY " +
+            "  day , hour ASC")
+    List<Map<String, Object>>  selectOrderTimePeriod(Date startTime, Date endTime);
 }
\ No newline at end of file

--
Gitblit v1.8.0