feat: add wallet transaction
This commit is contained in:
parent
1282c1e1a1
commit
81c3e2904c
|
@ -1,6 +1,7 @@
|
|||
package usecase
|
||||
|
||||
import (
|
||||
"code.30cm.net/digimon/app-cloudep-wallet-service/pkg/domain/entity"
|
||||
"code.30cm.net/digimon/app-cloudep-wallet-service/pkg/domain/repository"
|
||||
"code.30cm.net/digimon/app-cloudep-wallet-service/pkg/domain/usecase"
|
||||
"code.30cm.net/digimon/app-cloudep-wallet-service/pkg/domain/wallet"
|
||||
|
@ -252,9 +253,24 @@ func (use *WalletUseCase) UnFreeze(ctx context.Context, tx usecase.WalletTransfe
|
|||
})
|
||||
}
|
||||
|
||||
// RollbackFreeze Rollback 凍結,不可指定金額(剩餘order凍結金額)
|
||||
// 1. 新增一筆 Rollback 凍結交易
|
||||
// 2. 減少 order 餘額
|
||||
// 3. 錢包減少凍結餘額
|
||||
// 4. 錢包增加可用餘額
|
||||
// 5. 錢包變化新增一筆減少凍結餘額資料
|
||||
// 6. 錢包變化新增一筆增加可用餘額資料
|
||||
func (use *WalletUseCase) RollbackFreeze(ctx context.Context, tx usecase.WalletTransferRequest) error {
|
||||
//TODO implement me
|
||||
panic("implement me")
|
||||
tx.TxType = wallet.RollbackFreeze
|
||||
|
||||
return use.ProcessTransaction(ctx, tx, userWalletFlow{
|
||||
UID: tx.FromUID,
|
||||
Asset: tx.Asset,
|
||||
Actions: []walletActionOption{use.withSubOrder(func(tx *usecase.Transaction, order entity.Transaction) {
|
||||
tx.Amount = order.Balance
|
||||
}), use.withLockAvailableAndFreeze(), use.withSubFreeze(), use.withAddAvailable()},
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
func (use *WalletUseCase) RollbackFreezeAddAvailable(ctx context.Context, tx usecase.WalletTransferRequest) error {
|
||||
|
|
Loading…
Reference in New Issue