From 72cf5cdaef3be1e81da7f59d6ed61fe368f44816 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 08 一月 2025 14:48:46 +0800
Subject: [PATCH] add:物流发货针对散户更改微信发货方式,保存物流单号,未发送之前可更改
---
src/main/resources/mapper/wallet/WalletMapper.xml | 79 +++++++++++++++++++++++++++++++++++----
1 files changed, 70 insertions(+), 9 deletions(-)
diff --git a/src/main/resources/mapper/wallet/WalletMapper.xml b/src/main/resources/mapper/wallet/WalletMapper.xml
index 51d5ce4..98ad2fd 100644
--- a/src/main/resources/mapper/wallet/WalletMapper.xml
+++ b/src/main/resources/mapper/wallet/WalletMapper.xml
@@ -23,7 +23,7 @@
</resultMap>
<select id="getWaittingSettlementAmount" resultType="java.math.BigDecimal">
- <include refid="supplier_settlement_amount"></include>
+ <include refid="supplier_settlement_amount_timing3"></include>
</select>
<!-- 总交易额-->
@@ -32,19 +32,80 @@
from t_order_item oi
left join t_order o
on oi.order_id = o.id
- where oi.supplier_id = #{dto.supplierId}
+ where o.deleted=0
+ and o.status_backend not in ('PENDING','CANCEL','REFUND')
+ and oi.supplier_id = #{dto.supplierId}
and o.payment_time > #{dto.startTime}
</select>
<!-- 待结算-->
- <sql id="supplier_settlement_amount">
- SELECT IFNULL(sum(settlement_amount),0) AS settlement_amount
- FROM t_order_settlement OS
- WHERE OS.DELETED=0
- AND OS.TYPE='supplier'
- AND OS.status='PENDING'
- AND USER_ID=#{dto.userId}
+ <sql id="supplier_settlement_amount_timing">
+ select
+ sum(t2.final_price) as settlement_amount
+ from(
+ select
+ t.order_item_id,
+ t.supplier_id,
+ t.supplier_price,
+ t.supplier_price*(t.num-t.replace_num-t.lack_num )- t.deduct_amount -t.fee_supplier-t.station_fee as final_price,
+ t.fee_supplier,
+ t.station_fee
+ from (
+ SELECT
+ o.order_no,
+ oi.id as order_item_id,
+ oi.supplier_id,
+ o.payment_time,
+ oi.supplier_price,
+ oi.num as num,
+ IFNULL( (select oic.deduct_amount from t_order_item_check oic where oic.deleted=0 and oic.order_item_id = oi.id and oic.type = 'reduce' and oic.audit_status='AGREED'),0) as deduct_amount,
+ IFNULL( (select oic.num from t_order_item_check oic where oic.deleted=0 and oic.order_item_id = oi.id and oic.type = 'replace' and oic.audit_status='AGREED'),0) as replace_num,
+ IFNULL( (select oic.num from t_order_item_check oic where oic.deleted=0 and oic.order_item_id = oi.id and oic.type = 'lack' and oic.audit_status='AGREED'),0) as lack_num,
+ IFNULL( (select ois.fee_supplier from ( select ois.order_item_id,sum(ois.fee_supplier) as fee_supplier from t_order_item_sales ois where ois.deleted=0 and ois.status='AGREED' group by ois.order_item_id ) ois where ois.order_item_id = oi.id ),0) as fee_supplier,
+ IFNULL( (select ois.station_fee from t_order_item_settlement ois where ois.deleted=0 and ois.order_item_id = oi.id ),0) as station_fee
+ FROM t_order_item oi
+ LEFT JOIN t_order o ON oi.order_id = o.id
+ WHERE o.deleted=0
+ and o.status_backend not in ('PENDING','CANCEL','REFUND','COMPLETED','EVALUATE')
+ and oi.supplier_id = #{dto.supplierId}
+ ) t
+ ) t2
+
+
+ </sql>
+
+ <sql id="supplier_settlement_amount_timing3">
+ select
+ sum(t2.final_price) as settlement_amount
+ from(
+ select
+ t.order_item_id,
+ t.supplier_id,
+ t.supplier_price,
+ t.supplier_price*(t.num-t.replace_num-t.lack_num )- t.deduct_amount -t.fee_supplier-t.station_fee as final_price,
+ t.fee_supplier,
+ t.station_fee
+ from (
+ SELECT
+ o.order_no,
+ oi.id as order_item_id,
+ oi.supplier_id,
+ o.payment_time,
+ oi.supplier_price,
+ oi.num as num,
+ IFNULL( (select oic.deduct_amount from t_order_item_check oic where oic.deleted=0 and oic.order_item_id = oi.id and oic.type = 'reduce' and oic.audit_status='AGREED'),0) as deduct_amount,
+ IFNULL( (select oic.num from t_order_item_check oic where oic.deleted=0 and oic.order_item_id = oi.id and oic.type = 'replace' and oic.audit_status='AGREED'),0) as replace_num,
+ IFNULL( (select oic.num from t_order_item_check oic where oic.deleted=0 and oic.order_item_id = oi.id and oic.type = 'lack' and oic.audit_status='AGREED'),0) as lack_num,
+ IFNULL( (select ois.fee_supplier from ( select ois.order_item_id,sum(ois.fee_supplier) as fee_supplier from t_order_item_sales ois where ois.deleted=0 and ois.status='AGREED' group by ois.order_item_id ) ois where ois.order_item_id = oi.id ),0) as fee_supplier,
+ IFNULL( (select ois.station_fee from t_order_item_settlement ois where ois.deleted=0 and ois.order_item_id = oi.id ),0) as station_fee
+ FROM t_order_item oi
+ LEFT JOIN t_order o ON oi.order_id = o.id
+ WHERE o.deleted=0
+ and o.status_backend not in ('PENDING','CANCEL','REFUND','COMPLETED')
+ and oi.supplier_id = #{dto.supplierId}
+ ) t
+ ) t2
</sql>
</mapper>
--
Gitblit v1.9.3