Compare commits
No commits in common. "58e429ad0c1d40bca97650d5a4f959970875e745" and "7fe2038dcb37d6a338acd2016ee5d92a908ad5b6" have entirely different histories.
58e429ad0c
...
7fe2038dcb
@ -15,7 +15,20 @@ import (
|
||||
)
|
||||
|
||||
func AddBundleExtendRecord(data model.BundleExtensionRecords) error {
|
||||
return app.ModuleClients.BundleDB.Create(&data).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
|
||||
})
|
||||
}
|
||||
|
||||
func GetBundleExtendRecordList(req *bundle.BundleExtendRecordsListRequest) (data []model.BundleExtendRecordItemPo, total int64, err error) {
|
||||
@ -356,7 +369,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).Where("deleted_at is null").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("用户还没有套餐信息")
|
||||
}
|
||||
oldData.ManualAccountNumber += data.AccountNumber
|
||||
@ -368,7 +381,7 @@ func ExtendBundleBalanceByUserId(data model.BundleBalanceExtendPo) error {
|
||||
oldData.ManualVideoNumber += data.VideoNumber
|
||||
oldData.MonthlyNewManualVideoNumber += data.VideoNumber
|
||||
oldData.MonthlyNewDurationNumber += data.DurationNumber // 记录本月新增手动扩展时长
|
||||
oldData.ExpiredAt = 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
|
||||
})
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user