diff --git a/internal/dao/bundleExtend.go b/internal/dao/bundleExtend.go index c369b09..d416ccd 100644 --- a/internal/dao/bundleExtend.go +++ b/internal/dao/bundleExtend.go @@ -15,20 +15,7 @@ import ( ) func AddBundleExtendRecord(data model.BundleExtensionRecords) error { - return app.ModuleClients.BundleDB.Transaction(func(tx *gorm.DB) error { - if err := tx.Create(&data).Error; err != nil { - return err - } - if data.AvailableDurationAdditional != 0 && data.TimeUnit != 0 { - record := model.BundleBalance{} - if err := tx.Model(&model.BundleBalance{}).Where(&model.BundleBalance{UserId: data.UserId}).Order("month desc").First(&record).Error; err != nil { - return err - } - record.ExpiredAt = record.ExpiredAt.Add(time.Hour * 24 * time.Duration(data.AvailableDurationAdditional)) - return tx.Save(record).Error - } - return nil - }) + return app.ModuleClients.BundleDB.Create(&data).Error } func GetBundleExtendRecordList(req *bundle.BundleExtendRecordsListRequest) (data []model.BundleExtendRecordItemPo, total int64, err error) { @@ -369,7 +356,7 @@ func CreateUsedRecord(tx *gorm.DB, data model.BundleUsedRecord) error { func ExtendBundleBalanceByUserId(data model.BundleBalanceExtendPo) error { err := app.ModuleClients.BundleDB.Transaction(func(tx *gorm.DB) error { 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).Where("deleted_at is null").Order("created_at desc").First(&oldData).Error; err != nil { return errors.New("用户还没有套餐信息") } oldData.ManualAccountNumber += data.AccountNumber @@ -381,7 +368,7 @@ func ExtendBundleBalanceByUserId(data model.BundleBalanceExtendPo) error { oldData.ManualVideoNumber += data.VideoNumber oldData.MonthlyNewManualVideoNumber += data.VideoNumber oldData.MonthlyNewDurationNumber += data.DurationNumber // 记录本月新增手动扩展时长 - oldData.ExpiredAt.Add(time.Hour * 24 * time.Duration(data.DurationNumber)) + oldData.ExpiredAt = oldData.ExpiredAt.Add(time.Hour * 24 * time.Duration(data.DurationNumber)) return tx.Model(&model.BundleBalance{}).Where("id = ?", oldData.ID).Save(&oldData).Error })