diff --git a/internal/dao/bundleExtend.go b/internal/dao/bundleExtend.go index 759490c..fae8539 100644 --- a/internal/dao/bundleExtend.go +++ b/internal/dao/bundleExtend.go @@ -10,9 +10,6 @@ import ( "strconv" "time" - "dubbo.apache.org/dubbo-go/v3/common/logger" - "github.com/duke-git/lancet/v2/datetime" - "gorm.io/gorm" ) @@ -22,33 +19,12 @@ func AddBundleExtendRecord(data model.BundleExtensionRecords) error { return err } if data.AvailableDurationAdditional != 0 && data.TimeUnit != 0 { - record := model.BundleOrderRecords{} - if err := tx.Model(&model.BundleOrderRecords{}).Where(&model.BundleOrderRecords{CustomerID: strconv.Itoa(data.UserId)}).Order("created_at desc").First(&record).Error; err != nil { + record := model.BundleBalance{} + if err := tx.Model(&model.BundleBalance{}).Where(&model.BundleOrderRecords{CustomerID: strconv.Itoa(data.UserId)}).Order("created_at desc").First(&record).Error; err != nil { return err } - var expireTime time.Time - if record.ExpirationTime != "" { - loc, _ := time.LoadLocation("Asia/Shanghai") - et, _ := time.ParseInLocation(time.DateTime, record.ExpirationTime, loc) - expireTime = et - } else { - t, _ := time.Parse("2006-01-02 15:04:05", record.PayTime) - expireTime = t - logger.Infof("过期时间为空,使用默认过期时间" + expireTime.Format(time.DateTime)) - } - - switch data.TimeUnit { - case 1: - expireTime = datetime.AddDay(expireTime, int64(data.AvailableDurationAdditional)) - case 2: - expireTime = datetime.AddMonth(expireTime, int64(data.AvailableDurationAdditional)) - case 3: - expireTime = datetime.AddYear(expireTime, int64(data.AvailableDurationAdditional)) - default: - return errors.New("时间单位有误") - } - record.ExpirationTime = expireTime.Format(time.DateTime) - return tx.Model(&model.BundleOrderRecords{}).Where(&model.BundleOrderRecords{UUID: record.UUID}).Updates(&record).Error + record.ExpiredAt.Add(time.Hour * 24 * time.Duration(data.AvailableDurationAdditional)) + return tx.Save(record).Error } return nil })