From 6f9bb53d98d484255123d767caf4e17c7c14ee02 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期二, 12 十一月 2024 18:41:19 +0800
Subject: [PATCH] 优化统计

---
 src/main/resources/mapper/payment/OrderMapper.xml |   65 +++++++++++++++++++-------------
 1 files changed, 38 insertions(+), 27 deletions(-)

diff --git a/src/main/resources/mapper/payment/OrderMapper.xml b/src/main/resources/mapper/payment/OrderMapper.xml
index e0451eb..6142cf6 100644
--- a/src/main/resources/mapper/payment/OrderMapper.xml
+++ b/src/main/resources/mapper/payment/OrderMapper.xml
@@ -35,17 +35,23 @@
         <if test="condition.statusBackend != null and condition.statusBackend != ''">
             AND q.status_backend = #{condition.statusBackend}
         </if>
-        <if test="condition.startDate != null">
-            AND q.payment_time &gt;= #{condition.startDate}
-        </if>
-        <if test="condition.endDate != null">
-            AND q.payment_time &lt;= #{condition.endDate}
-        </if>
+<!--        <if test="condition.startDate != null">-->
+<!--            AND q.payment_time &gt;= #{condition.startDate}-->
+<!--        </if>-->
+<!--        <if test="condition.endDate != null">-->
+<!--            AND q.payment_time &lt;= #{condition.endDate}-->
+<!--        </if>-->
+<!--        <if test="condition.createStartDate != null">-->
+<!--            AND q.create_time &gt;= #{condition.createStartDate}-->
+<!--        </if>-->
+<!--        <if test="condition.createEndDate != null">-->
+<!--            AND q.create_time &lt;= #{condition.createEndDate}-->
+<!--        </if>-->
         <if test="condition.createStartDate != null">
-            AND q.create_time &gt;= #{condition.createStartDate}
+            AND q.payment_time &gt;= #{condition.createStartDate}
         </if>
         <if test="condition.createEndDate != null">
-            AND q.create_time &lt;= #{condition.createEndDate}
+            AND q.payment_time &lt;= #{condition.createEndDate}
         </if>
         <if test="condition.partnerId != null">
             AND q.partner_id = #{condition.partnerId}
@@ -108,12 +114,12 @@
         <if test="condition.statusBackend != null and condition.statusBackend != ''">
             AND q.status_backend = #{condition.statusBackend}
         </if>
-        <if test="condition.startDate != null">
-            AND q.payment_time &gt;= #{condition.startDate}
-        </if>
-        <if test="condition.endDate != null">
-            AND q.payment_time &lt;= #{condition.endDate}
-        </if>
+<!--        <if test="condition.startDate != null">-->
+<!--            AND q.payment_time &gt;= #{condition.startDate}-->
+<!--        </if>-->
+<!--        <if test="condition.endDate != null">-->
+<!--            AND q.payment_time &lt;= #{condition.endDate}-->
+<!--        </if>-->
 <!--        <if test="condition.createStartDate != null">-->
 <!--            AND q.create_time &gt;= #{condition.createStartDate}-->
 <!--        </if>-->
@@ -183,18 +189,18 @@
         <if test="condition.statusBackend != null and condition.statusBackend != ''">
             AND q.status_backend = #{condition.statusBackend}
         </if>
-        <if test="condition.startDate != null">
-            AND q.payment_time &gt;= #{condition.startDate}
-        </if>
-        <if test="condition.endDate != null">
-            AND q.payment_time &lt;= #{condition.endDate}
-        </if>
         <if test="condition.createStartDate != null">
-            AND q.create_time &gt;= #{condition.createStartDate}
+            AND q.payment_time &gt;= #{condition.createStartDate}
         </if>
         <if test="condition.createEndDate != null">
-            AND q.create_time &lt;= #{condition.createEndDate}
+            AND q.payment_time &lt;= #{condition.createEndDate}
         </if>
+<!--        <if test="condition.createStartDate != null">-->
+<!--            AND q.create_time &gt;= #{condition.createStartDate}-->
+<!--        </if>-->
+<!--        <if test="condition.createEndDate != null">-->
+<!--            AND q.create_time &lt;= #{condition.createEndDate}-->
+<!--        </if>-->
         <if test="condition.partnerId != null">
             AND q.partner_id = #{condition.partnerId}
         </if>
@@ -290,7 +296,8 @@
                code2.label as specialNeedsStr,
                CONCAT(q.customer_province, q.customer_city,q.customer_region,q.customer_address) AS customerAddress,
                (select Sum(COALESCE(oi.num, 0) * COALESCE(oi.supplier_price, 0))
-        from t_order_item oi where order_id = q.id) supplierAmount
+        from t_order_item oi where order_id = q.id) supplierAmount,
+        (select Sum(oi.num) from t_order_item oi where order_id = q.id) saleNum
         FROM t_order q
         left join t_user u on q.create_by = u.id
         LEFT JOIN (SELECT ct.label, ct.value from t_code_value ct where type_code = 'ORDER_STATUS_BACKEND') code ON q.status_backend = code.value
@@ -366,9 +373,13 @@
     <select id="getOrderSaleAmount" resultType="java.math.BigDecimal">
         SELECT sum(o.payment_amount)
         FROM t_order o
-        WHERE o.create_time &gt; #{startTime}
-        and o.create_time &lt;= #{endTime}
-        and o.payment_time is not null
-        and o.refund_time is null
+        WHERE o.deleted=0
+        and o.status_backend not in ('PENDING','CANCEL','REFUND')
+        <if test="startTime != null">
+            and o.create_time &gt; #{startTime}
+        </if>
+        <if test="endTime != null">
+            and o.create_time &lt;= #{endTime}
+        </if>
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3