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