fix platform workflow integrity and permissions
This commit is contained in:
@@ -43,7 +43,7 @@ func listWalletPage[T any](ctx *gin.Context) {
|
||||
var list []T
|
||||
var total int64
|
||||
model := new(T)
|
||||
query := common.ApplyKeywordFilter(ctx, impl.DBService.Model(model), model)
|
||||
query := common.ApplyKeywordFilter(ctx, common.ActiveRecords(impl.DBService.Model(model)), model)
|
||||
if err := query.Count(&total).Error; err != nil {
|
||||
infra.Response.Error(ctx, err)
|
||||
return
|
||||
@@ -133,7 +133,7 @@ func GetOrCreateOwnerWallet(ctx *gin.Context) {
|
||||
return err
|
||||
}
|
||||
candidate := models.WalletBasic{
|
||||
Entity: models.Entity{Identity: models.NewIdentity(), Status: common.StatusEnable, Version: 1},
|
||||
Entity: models.Entity{Identity: models.NewIdentity(), Status: common.StatusEnable},
|
||||
OwnerType: ownerType, OwnerID: ownerID, OwnerIdentity: ownerIdentity,
|
||||
}
|
||||
if err := tx.Clauses(clause.OnConflict{DoNothing: true}).Create(&candidate).Error; err != nil {
|
||||
@@ -227,7 +227,7 @@ func RechargeWalletBasic(ctx *gin.Context) {
|
||||
}
|
||||
now := time.Now()
|
||||
record = models.WalletRecord{
|
||||
Entity: models.Entity{Identity: models.NewIdentity(), Status: common.StatusPosted, Version: 1},
|
||||
Entity: models.Entity{Identity: models.NewIdentity(), Status: common.StatusPosted},
|
||||
WalletBasicID: wallet.ID, RecordNo: models.NewIdentity(), RequestNo: request.RequestNo,
|
||||
Direction: "income", TradeType: "recharge", Amount: request.Amount,
|
||||
BalanceAfter: wallet.Balance, WithdrawalBalanceAfter: wallet.WithdrawalBalance,
|
||||
@@ -239,6 +239,15 @@ func RechargeWalletBasic(ctx *gin.Context) {
|
||||
return tx.Create(&record).Error
|
||||
})
|
||||
if err != nil {
|
||||
if lookupErr := impl.DBService.Where("request_no = ?", request.RequestNo).First(&record).Error; lookupErr == nil {
|
||||
response, responseErr := common.PublicResourceResponse(record)
|
||||
if responseErr != nil {
|
||||
infra.Response.Error(ctx, responseErr)
|
||||
return
|
||||
}
|
||||
infra.Response.Success(ctx, response)
|
||||
return
|
||||
}
|
||||
common.RespondRecordError(ctx, err)
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user