parent
48039127e1
commit
aa7de9e4f6
@ -9,7 +9,6 @@ import (
|
|||||||
"micro-bundle/pkg/utils"
|
"micro-bundle/pkg/utils"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"dubbo.apache.org/dubbo-go/v3/common/logger"
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"gorm.io/gorm/clause"
|
"gorm.io/gorm/clause"
|
||||||
)
|
)
|
||||||
@ -367,7 +366,7 @@ func CreateUsedRecord(tx *gorm.DB, data model.BundleUsedRecord) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ExtendBundleBalanceByUserId(data model.BundleBalanceExtendPo) error {
|
func ExtendBundleBalanceByUserId(data model.BundleBalanceExtendPo) error {
|
||||||
err := app.ModuleClients.BundleDB.Transaction(func(tx *gorm.DB) error {
|
return app.ModuleClients.BundleDB.Transaction(func(tx *gorm.DB) error {
|
||||||
oldData := model.BundleBalance{}
|
oldData := model.BundleBalance{}
|
||||||
if err := tx.Model(&model.BundleBalance{}).Where("user_id = ?", data.UserId).Order("created_at desc").First(&oldData).Error; err != nil {
|
if err := tx.Model(&model.BundleBalance{}).Where("user_id = ?", data.UserId).Order("created_at desc").First(&oldData).Error; err != nil {
|
||||||
return errors.New("用户还没有套餐信息")
|
return errors.New("用户还没有套餐信息")
|
||||||
@ -384,33 +383,10 @@ func ExtendBundleBalanceByUserId(data model.BundleBalanceExtendPo) error {
|
|||||||
oldData.ExpiredAt.Add(time.Hour * 24 * time.Duration(data.DurationNumber))
|
oldData.ExpiredAt.Add(time.Hour * 24 * time.Duration(data.DurationNumber))
|
||||||
return tx.Model(&model.BundleBalance{}).Where("id = ?", oldData.ID).Save(&oldData).Error
|
return tx.Model(&model.BundleBalance{}).Where("id = ?", oldData.ID).Save(&oldData).Error
|
||||||
})
|
})
|
||||||
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// 套餐余额更新成功后,同步增量更新任务余额
|
|
||||||
// 如果任务余额更新失败,只记录错误日志,不影响主流程
|
|
||||||
if taskErr := ExtendTaskBalanceByUserId(data.UserId, data.ImageNumber, data.DataAnalysisNumber, data.VideoNumber, data.DurationNumber); taskErr != nil {
|
|
||||||
// 记录错误日志但不返回错误,避免影响主流程
|
|
||||||
logger.Errorf("任务余额同步失败,用户ID: %d, 错误: %v", data.UserId, taskErr)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func CreateBundleBalance(data model.BundleBalance) error {
|
func CreateBundleBalance(data model.BundleBalance) error {
|
||||||
if err := app.ModuleClients.BundleDB.Save(&data).Error; err != nil {
|
return app.ModuleClients.BundleDB.Save(&data).Error
|
||||||
return err
|
|
||||||
}
|
|
||||||
// 同步任务余额(新建套餐余额时)
|
|
||||||
// 如果任务余额同步失败,只记录错误日志,不影响主流程
|
|
||||||
if taskErr := SyncTaskBalanceFromBundleBalance(data); taskErr != nil {
|
|
||||||
// 记录错误日志但不返回错误,避免影响主流程
|
|
||||||
logger.Errorf("新建套餐余额时任务余额同步失败,更新数据: %v, 错误 %v", data, taskErr)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetUsedRecord(req *bundle.GetUsedRecordListReq) (data []model.CostLogPo, total int64, err error) {
|
func GetUsedRecord(req *bundle.GetUsedRecordListReq) (data []model.CostLogPo, total int64, err error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user