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