This commit is contained in:
2026-01-07 17:24:09 +08:00
parent ec72e47695
commit ed8d311e02

View File

@@ -19,6 +19,7 @@ import (
// HandleCommissionAndWalletDeduction 处理退款后的佣金状态更新和钱包金额扣除
// 这是一个公共函数,可以被支付宝和微信退款逻辑共享使用
// 只有当订单状态不为已退款时,才会处理佣金状态更新和钱包金额扣除
func HandleCommissionAndWalletDeduction(ctx context.Context, svcCtx *svc.ServiceContext, session sqlx.Session, order *model.Order) error {
// 查询非已退款的佣金
commissionBuilder := svcCtx.AgentCommissionModel.SelectBuilder()
@@ -59,7 +60,7 @@ func HandleCommissionAndWalletDeduction(ctx context.Context, svcCtx *svc.Service
balanceBefore := wallet.Balance
frozenBalanceBefore := wallet.FrozenBalance
// 如果是已结算状态的佣金status = 1,直接扣减钱包余额
// 如果是冻结状态的佣金,直接扣减冻结余额
if oldCommissionStatus == 1 {
// 冻结状态的佣金,根据订单金额优先减少冻结金额,如果冻结金额不足则减少钱包余额
if wallet.FrozenBalance >= order.Amount {
@@ -71,7 +72,7 @@ func HandleCommissionAndWalletDeduction(ctx context.Context, svcCtx *svc.Service
wallet.FrozenBalance = 0
wallet.Balance -= remaining
}
// 其他状态的佣金比如已结算状态status = 1),直接扣减钱包余额
// 其他状态的佣金比如已结算状态status = 0),直接扣减钱包余额
} else {
wallet.Balance -= order.Amount
}