重构交易相关逻辑,优化异步任务处理,更新支付状态查询逻辑

This commit is contained in:
2025-06-03 09:53:50 +08:00
parent 41dcc14f5f
commit a9de63c3f9
9 changed files with 239 additions and 219 deletions

View File

@@ -8,14 +8,14 @@ var User = &userService{}
type userService struct{}
func (s *userService) RechargeConfirm(tradeNo string, verified *TransactionVerifyResult) error {
func (s *userService) RechargeConfirm(tradeNo string, verified *TradeSuccessResult) error {
err := q.Q.Transaction(func(tx *q.Query) error {
// 更新交易状态
result, err := Transaction.CompleteTransaction(tx, &TransactionCompleteData{
TradeNo: tradeNo,
TransactionVerifyResult: *verified,
trade, err := Trade.OnTradeCreated(tx, &OnTradeCreateData{
TradeNo: tradeNo,
TradeSuccessResult: *verified,
})
if err != nil {
return err
@@ -23,14 +23,14 @@ func (s *userService) RechargeConfirm(tradeNo string, verified *TransactionVerif
// 更新用户余额
user, err := tx.User.
Where(tx.User.ID.Eq(result.Trade.UserID)).Take()
Where(tx.User.ID.Eq(trade.UserID)).Take()
if err != nil {
return err
}
_, err = tx.User.
Where(tx.User.ID.Eq(user.ID)).
UpdateSimple(tx.User.Balance.Value(user.Balance.Add(result.Trade.Amount)))
UpdateSimple(tx.User.Balance.Value(user.Balance.Add(trade.Amount)))
if err != nil {
return err
}