Merge branch 'dev-lzh-0905' into dev

This commit is contained in:
lzh 2025-10-22 10:17:39 +08:00
commit 58e429ad0c

View File

@ -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
})