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