新的套餐扩展
This commit is contained in:
parent
9e4fb0543c
commit
fc7c88c85f
@ -10,9 +10,6 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"dubbo.apache.org/dubbo-go/v3/common/logger"
|
|
||||||
"github.com/duke-git/lancet/v2/datetime"
|
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -22,33 +19,12 @@ func AddBundleExtendRecord(data model.BundleExtensionRecords) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if data.AvailableDurationAdditional != 0 && data.TimeUnit != 0 {
|
if data.AvailableDurationAdditional != 0 && data.TimeUnit != 0 {
|
||||||
record := model.BundleOrderRecords{}
|
record := model.BundleBalance{}
|
||||||
if err := tx.Model(&model.BundleOrderRecords{}).Where(&model.BundleOrderRecords{CustomerID: strconv.Itoa(data.UserId)}).Order("created_at desc").First(&record).Error; err != nil {
|
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
|
return err
|
||||||
}
|
}
|
||||||
var expireTime time.Time
|
record.ExpiredAt.Add(time.Hour * 24 * time.Duration(data.AvailableDurationAdditional))
|
||||||
if record.ExpirationTime != "" {
|
return tx.Save(record).Error
|
||||||
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
|
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user