优化增加余量字段

This commit is contained in:
lzh 2025-10-24 10:20:04 +08:00
parent 5891719749
commit 7123333344
4 changed files with 215 additions and 174 deletions

View File

@ -463,3 +463,8 @@ func BundleListH5V2(req *bundle.BundleListRequest) (res *bundle.BundleListRespon
return
}
func GetUnconfirmed() (data []model.CastWork,err error) {
err = app.ModuleClients.BundleDB.Model(&model.CastWork{}).Where("status = ? and update_time < ?", 4, time.Now().Add(-time.Hour*24)).Find(&data).Error
return
}

View File

@ -198,33 +198,29 @@ func AddBundleBalanceByUserId(data model.BundleBalanceUsePo) (usedType int, err
}
if data.VideoNumber > 0 {
// 当月可使用的会过期的限制类型充足
if oldData.BundleLimitVideoExpiredConsumptionNumber < cal(oldData, oldData.BundleLimitVideoExpiredNumber, oldData.MonthlyLimitVideoQuotaNumber, time.Now()) { // 套餐内会过期的限制类型视频充足
oldData.MonthlyLimitVideoExpireConsumptionNumber++
if oldData.MonthlyBundleLimitExpiredVideoConsumptionNumber < oldData.MonthlyBundleLimitExpiredVideoNumber { // 套餐内会过期的限制类型视频充足
oldData.MonthlyBundleLimitExpiredVideoConsumptionNumber++
oldData.BundleLimitVideoExpiredConsumptionNumber++
oldData.MonthlyBundleVideoConsumptionNumber++
usedType = 1
goto Over
}
if oldData.IncreaseLimitVideoExpiredConsumptionNumber < cal(oldData, oldData.IncreaseLimitVideoExpiredNumber, oldData.MonthlyLimitVideoQuotaNumber, time.Now()) { // 增值服务会过期的限制类型视频充足
oldData.MonthlyLimitVideoExpireConsumptionNumber++
if oldData.MonthlyIncreaseLimitExpiredVideoConsumptionNumber < oldData.MonthlyBundleLimitExpiredVideoNumber { // 增值服务会过期的限制类型视频充足
oldData.MonthlyIncreaseLimitExpiredVideoConsumptionNumber++
oldData.IncreaseLimitVideoExpiredConsumptionNumber++
oldData.MonthlyIncreaseVideoConsumptionNumber++
usedType = 2
goto Over
}
// 当月可使用的过期的限制类型充足
if oldData.BundleLimitVideoConsumptionNumber < cal(oldData, oldData.BundleLimitVideoNumber, oldData.MonthlyLimitVideoQuotaNumber, time.Now()) { // 套餐内不过期的限制类型视频充足
oldData.MonthlyLimitVideoConsumptionNumber++
// 当月可使用的过期的限制类型充足
if oldData.MonthlyBundleLimitVideoConsumptionNumber < oldData.MonthlyBundleLimitVideoNumber { // 套餐内会过期的限制类型视频充足
oldData.MonthlyBundleLimitVideoConsumptionNumber++
oldData.BundleLimitVideoConsumptionNumber++
oldData.MonthlyBundleVideoConsumptionNumber++
usedType = 1
goto Over
}
if oldData.IncreaseLimitVideoConsumptionNumber < cal(oldData, oldData.IncreaseLimitVideoNumber, oldData.MonthlyLimitVideoQuotaNumber, time.Now()) { // 增值服务不过期的限制类型视频充足
oldData.MonthlyLimitVideoConsumptionNumber++
if oldData.MonthlyIncreaseLimitVideoConsumptionNumber < oldData.MonthlyBundleLimitVideoNumber { // 增值服务会过期的限制类型视频充足
oldData.MonthlyIncreaseLimitVideoConsumptionNumber++
oldData.IncreaseLimitVideoConsumptionNumber++
oldData.MonthlyIncreaseVideoConsumptionNumber++
usedType = 2
goto Over
}
@ -252,46 +248,50 @@ func AddBundleBalanceByUserId(data model.BundleBalanceUsePo) (usedType int, err
if data.ImageNumber > 0 {
// 当月可使用的会过期的限制类型充足
if oldData.BundleLimitImageExpiredConsumptionNumber < cal(oldData, oldData.BundleLimitImageExpiredNumber, oldData.MonthlyLimitImageQuotaNumber, time.Now()) { // 套餐内会过期的限制类型图文充足
oldData.MonthlyLimitImageExpireConsumptionNumber++
// 当月可使用的会过期的限制类型充足
if oldData.MonthlyBundleLimitExpiredImageConsumptionNumber < oldData.MonthlyBundleLimitExpiredImageNumber { // 套餐内会过期的限制类型图片充足
oldData.MonthlyBundleLimitExpiredImageConsumptionNumber++
oldData.BundleLimitImageExpiredConsumptionNumber++
oldData.MonthlyBundleImageConsumptionNumber++
usedType = 1
goto Over
}
if oldData.IncreaseLimitImageExpiredConsumptionNumber < cal(oldData, oldData.IncreaseLimitImageExpiredNumber, oldData.MonthlyLimitImageQuotaNumber, time.Now()) { // 增值服务会过期的限制类型图文充足
oldData.MonthlyLimitImageExpireConsumptionNumber++
if oldData.MonthlyIncreaseLimitExpiredImageConsumptionNumber < oldData.MonthlyBundleLimitExpiredImageNumber { // 增值服务会过期的限制类型图片充足
oldData.MonthlyIncreaseLimitExpiredImageConsumptionNumber++
oldData.IncreaseLimitImageExpiredConsumptionNumber++
oldData.MonthlyIncreaseImageConsumptionNumber++
usedType = 2
goto Over
}
// 当月可使用的不过期的限制类型充足
if oldData.BundleLimitImageConsumptionNumber < cal(oldData, oldData.BundleLimitImageNumber, oldData.MonthlyLimitImageQuotaNumber, time.Now()) { // 套餐内不过期的限制类型图文充足
oldData.MonthlyLimitImageConsumptionNumber++
// 当月可使用的限制类型充足
if oldData.MonthlyBundleLimitImageConsumptionNumber < oldData.MonthlyBundleLimitImageNumber { // 套餐内限制类型图片充足
oldData.MonthlyBundleLimitImageConsumptionNumber++
oldData.BundleLimitImageConsumptionNumber++
oldData.MonthlyBundleImageConsumptionNumber++
usedType = 1
goto Over
}
if oldData.IncreaseLimitImageConsumptionNumber < cal(oldData, oldData.IncreaseLimitImageNumber, oldData.MonthlyLimitImageQuotaNumber, time.Now()) { // 增值服务不过期的限制类型图文充足
oldData.MonthlyLimitImageConsumptionNumber++
if oldData.MonthlyIncreaseLimitImageConsumptionNumber < oldData.MonthlyBundleLimitImageNumber { // 增值服务限制类型图片充足
oldData.MonthlyIncreaseLimitImageConsumptionNumber++
oldData.IncreaseLimitImageConsumptionNumber++
oldData.MonthlyIncreaseImageConsumptionNumber++
usedType = 2
goto Over
}
if oldData.BundleImageConsumptionNumber < oldData.BundleImageNumber { //套餐内非限制类型的图文充足
oldData.BundleImageConsumptionNumber++
oldData.MonthlyBundleImageConsumptionNumber++
usedType = 1
goto Over
}
if oldData.IncreaseImageConsumptionNumber < oldData.IncreaseImageNumber { //增值服务非限制类型的图文充足
oldData.IncreaseImageConsumptionNumber++
oldData.MonthlyIncreaseImageConsumptionNumber++
usedType = 2
goto Over
}
if oldData.ManualImageConsumptionNumber < oldData.ManualImageNumber { // 手动扩展类型充足
oldData.ManualImageConsumptionNumber++
oldData.MonthlyManualImageConsumptionNumber++ // 记录本月使用的手动扩展
usedType = 2
goto Over
}
return errors.New("可用图文数不足")
@ -299,45 +299,50 @@ func AddBundleBalanceByUserId(data model.BundleBalanceUsePo) (usedType int, err
if data.DataAnalysisNumber > 0 {
// 当月可使用的会过期的限制类型充足
if oldData.BundleLimitDataAnalysisExpiredConsumptionNumber < cal(oldData, oldData.BundleLimitDataAnalysisExpiredNumber, oldData.MonthlyLimitDataAnalysisQuotaNumber, time.Now()) { // 套餐内会过期的限制类型数据分析充足
oldData.MonthlyLimitDataAnalysisExpireConsumptionNumber++
// 当月可使用的会过期的限制类型充足
if oldData.MonthlyBundleLimitExpiredDataAnalysisConsumptionNumber < oldData.MonthlyBundleLimitExpiredDataAnalysisNumber { // 套餐内会过期的限制类型数据分析充足
oldData.MonthlyBundleLimitExpiredDataAnalysisConsumptionNumber++
oldData.BundleLimitDataAnalysisExpiredConsumptionNumber++
oldData.MonthlyBundleDataAnalysisConsumptionNumber++
usedType = 1
goto Over
}
if oldData.IncreaseLimitDataAnalysisExpiredConsumptionNumber < cal(oldData, oldData.IncreaseLimitDataAnalysisExpiredNumber, oldData.MonthlyLimitDataAnalysisQuotaNumber, time.Now()) { // 增值服务会过期的限制类型数据分析充足
oldData.MonthlyLimitDataAnalysisExpireConsumptionNumber++
if oldData.MonthlyIncreaseLimitExpiredDataAnalysisConsumptionNumber < oldData.MonthlyBundleLimitExpiredDataAnalysisNumber { // 增值服务会过期的限制类型数据分析充足
oldData.MonthlyIncreaseLimitExpiredDataAnalysisConsumptionNumber++
oldData.IncreaseLimitDataAnalysisExpiredConsumptionNumber++
oldData.MonthlyIncreaseDataAnalysisConsumptionNumber++
usedType = 2
goto Over
}
// 当月可使用的不过期的限制类型充足
if oldData.BundleLimitDataAnalysisConsumptionNumber < cal(oldData, oldData.BundleLimitDataAnalysisNumber, oldData.MonthlyLimitDataAnalysisQuotaNumber, time.Now()) { // 套餐内不过期的限制类型数据分析充足
oldData.MonthlyLimitDataAnalysisConsumptionNumber++
// 当月可使用的限制类型充足
if oldData.MonthlyBundleLimitDataAnalysisConsumptionNumber < oldData.MonthlyBundleLimitDataAnalysisNumber { // 套餐内限制类型数据分析充足
oldData.MonthlyBundleLimitDataAnalysisConsumptionNumber++
oldData.BundleLimitDataAnalysisConsumptionNumber++
oldData.MonthlyBundleDataAnalysisConsumptionNumber++
usedType = 1
goto Over
}
if oldData.IncreaseLimitDataAnalysisConsumptionNumber < cal(oldData, oldData.IncreaseLimitDataAnalysisNumber, oldData.MonthlyLimitDataAnalysisQuotaNumber, time.Now()) { // 增值服务不过期的限制类型数据分析充足
oldData.MonthlyLimitDataAnalysisConsumptionNumber++
if oldData.MonthlyIncreaseLimitDataAnalysisConsumptionNumber < oldData.MonthlyBundleLimitDataAnalysisNumber { // 增值服务限制类型数据分析充足
oldData.MonthlyIncreaseLimitDataAnalysisConsumptionNumber++
oldData.IncreaseLimitDataAnalysisConsumptionNumber++
oldData.MonthlyIncreaseDataAnalysisConsumptionNumber++
usedType = 2
goto Over
}
if oldData.BundleLimitDataAnalysisNumber < oldData.BundleDataAnalysisNumber { //套餐内非限制类型的数据分析充足
oldData.BundleLimitDataAnalysisNumber++
oldData.MonthlyBundleDataAnalysisConsumptionNumber++
usedType = 1
goto Over
}
if oldData.IncreaseDataAnalysisConsumptionNumber < oldData.IncreaseDataAnalysisNumber { //增值服务非限制类型的数据分析充足
oldData.IncreaseDataAnalysisConsumptionNumber++
oldData.MonthlyIncreaseDataAnalysisConsumptionNumber++
usedType = 2
goto Over
}
if oldData.ManualDataAnalysisConsumptionNumber < oldData.ManualDataAnalysisNumber { // 手动扩展类型充足
oldData.ManualDataAnalysisConsumptionNumber++
oldData.MonthlyManualDataAnalysisConsumptionNumber++ // 记录本月使用的手动扩展
usedType = 2
goto Over
}
return errors.New("可用数据分析数不足")
@ -554,41 +559,55 @@ inner join (
return min(limit, remaining)
}
v.MonthlyInvalidBundleVideoNumber = v.MonthlyLimitVideoExpireNumber - v.MonthlyLimitVideoExpireConsumptionNumber // 当月过期的视频数
v.MonthlyInvalidBundleVideoNumber = v.MonthlyBundleLimitExpiredVideoNumber - v.MonthlyBundleLimitExpiredVideoConsumptionNumber // 当月过期的视频数
v.InvalidBundleVideoNumber += v.MonthlyInvalidBundleVideoNumber
v.MonthlyInvalidBundleImageNumber = v.MonthlyLimitImageExpireNumber - v.MonthlyLimitImageExpireConsumptionNumber
v.MonthlyInvalidBundleImageNumber = v.MonthlyBundleLimitExpiredImageNumber - v.MonthlyBundleLimitExpiredImageConsumptionNumber // 当月过期的图片数
v.InvalidBundleImageNumber += v.MonthlyInvalidBundleImageNumber
v.MonthlyInvalidBundleDataAnalysisNumber = v.MonthlyLimitDataAnalysisExpireNumber - v.MonthlyLimitDataAnalysisExpireConsumptionNumber
v.MonthlyInvalidBundleDataAnalysisNumber = v.MonthlyBundleLimitExpiredDataAnalysisNumber - v.MonthlyBundleLimitExpiredDataAnalysisConsumptionNumber // 当月过期的数据分析数
v.InvalidBundleDataAnalysisNumber += v.MonthlyInvalidBundleDataAnalysisNumber
// 当月可用的限制类型数等于本月方法的套餐和增值两种类型的总和
v.MonthlyLimitVideoExpireNumber = cal(v.BundleLimitVideoExpiredNumber, v.MonthlyLimitVideoQuotaNumber) + cal(v.IncreaseLimitVideoExpiredNumber, v.MonthlyLimitVideoQuotaNumber)
v.MonthlyLimitVideoNumber = v.MonthlyLimitVideoNumber - v.MonthlyLimitVideoConsumptionNumber + cal(v.BundleLimitVideoNumber, v.MonthlyLimitVideoQuotaNumber) + cal(v.IncreaseLimitVideoNumber, v.MonthlyLimitVideoQuotaNumber)
v.MonthlyLimitImageExpireNumber = cal(v.BundleLimitImageExpiredNumber, v.MonthlyLimitImageQuotaNumber) + cal(v.IncreaseLimitImageExpiredNumber, v.MonthlyLimitImageQuotaNumber)
v.MonthlyLimitImageNumber = v.MonthlyLimitImageNumber - v.MonthlyLimitImageConsumptionNumber + cal(v.BundleLimitImageNumber, v.MonthlyLimitImageQuotaNumber) + cal(v.IncreaseLimitImageNumber, v.MonthlyLimitImageQuotaNumber)
v.MonthlyLimitDataAnalysisExpireNumber = cal(v.BundleLimitDataAnalysisExpiredNumber, v.MonthlyLimitDataAnalysisQuotaNumber) + cal(v.IncreaseLimitDataAnalysisExpiredNumber, v.MonthlyLimitDataAnalysisQuotaNumber)
v.MonthlyLimitDataAnalysisNumber = v.MonthlyLimitDataAnalysisNumber - v.MonthlyLimitDataAnalysisConsumptionNumber + cal(v.BundleLimitDataAnalysisNumber, v.MonthlyLimitDataAnalysisQuotaNumber) + cal(v.IncreaseLimitDataAnalysisNumber, v.MonthlyLimitDataAnalysisQuotaNumber)
v.MonthlyLimitVideoConsumptionNumber = 0 // 重置单月消耗数量
v.MonthlyLimitVideoExpireConsumptionNumber = 0
v.MonthlyManualVideoConsumptionNumber = 0
v.MonthlyLimitImageConsumptionNumber = 0
v.MonthlyLimitImageExpireConsumptionNumber = 0
v.MonthlyManualImageConsumptionNumber = 0
v.MonthlyLimitDataAnalysisConsumptionNumber = 0
v.MonthlyLimitDataAnalysisExpireConsumptionNumber = 0
v.MonthlyManualDataAnalysisConsumptionNumber = 0
v.MonthlyBundleVideoConsumptionNumber = 0
v.MonthlyBundleLimitExpiredVideoNumber = cal(v.BundleLimitVideoExpiredNumber, v.MonthlyLimitVideoQuotaNumber)
v.MonthlyIncreaseLimitExpiredVideoNumber = cal(v.IncreaseLimitVideoExpiredNumber, v.MonthlyLimitVideoQuotaNumber)
v.MonthlyBundleLimitVideoNumber = cal(v.BundleLimitVideoNumber, v.MonthlyLimitVideoQuotaNumber)
v.MonthlyIncreaseLimitVideoNumber = cal(v.IncreaseLimitVideoNumber, v.MonthlyLimitVideoQuotaNumber)
v.MonthlyBundleLimitExpiredImageNumber = cal(v.BundleLimitImageExpiredNumber, v.MonthlyLimitImageQuotaNumber)
v.MonthlyIncreaseLimitExpiredImageNumber = cal(v.IncreaseLimitImageExpiredNumber, v.MonthlyLimitImageQuotaNumber)
v.MonthlyBundleLimitImageNumber = cal(v.BundleLimitImageNumber, v.MonthlyLimitImageQuotaNumber)
v.MonthlyIncreaseLimitImageNumber = cal(v.IncreaseLimitImageNumber, v.MonthlyLimitImageQuotaNumber)
v.MonthlyBundleLimitExpiredDataAnalysisNumber = cal(v.BundleLimitDataAnalysisExpiredNumber, v.MonthlyLimitDataAnalysisQuotaNumber)
v.MonthlyIncreaseLimitExpiredDataAnalysisNumber = cal(v.IncreaseLimitDataAnalysisExpiredNumber, v.MonthlyLimitDataAnalysisQuotaNumber)
v.MonthlyBundleLimitDataAnalysisNumber = cal(v.BundleLimitDataAnalysisNumber, v.MonthlyLimitDataAnalysisQuotaNumber)
v.MonthlyIncreaseLimitDataAnalysisNumber = cal(v.IncreaseLimitDataAnalysisNumber, v.MonthlyLimitDataAnalysisQuotaNumber)
// 重置单月消耗数量
v.MonthlyBundleImageConsumptionNumber = 0
v.MonthlyBundleDataAnalysisConsumptionNumber = 0
v.MonthlyIncreaseVideoConsumptionNumber = 0
v.MonthlyIncreaseImageConsumptionNumber = 0
v.MonthlyIncreaseDataAnalysisConsumptionNumber = 0
v.MonthlyNewAccountNumber = 0
v.MonthlyNewDurationNumber = 0
v.MonthlyNewManualVideoNumber = 0
v.MonthlyBundleLimitImageConsumptionNumber = 0
v.MonthlyIncreaseLimitImageConsumptionNumber = 0
v.MonthlyBundleLimitExpiredImageConsumptionNumber = 0
v.MonthlyIncreaseLimitExpiredImageConsumptionNumber = 0
v.ManualImageConsumptionNumber = 0
v.MonthlyNewManualImageNumber = 0
v.MonthlyManualImageConsumptionNumber = 0
v.MonthlyBundleImageConsumptionNumber = 0
v.MonthlyIncreaseImageConsumptionNumber = 0
v.MonthlyBundleLimitImageConsumptionNumber = 0
v.MonthlyIncreaseLimitImageConsumptionNumber = 0
v.MonthlyBundleLimitExpiredImageConsumptionNumber = 0
v.MonthlyIncreaseLimitExpiredImageConsumptionNumber = 0
v.ManualImageConsumptionNumber = 0
v.MonthlyNewManualImageNumber = 0
v.MonthlyManualImageConsumptionNumber = 0
v.MonthlyBundleDataAnalysisConsumptionNumber = 0
v.MonthlyIncreaseDataAnalysisConsumptionNumber = 0
v.MonthlyBundleLimitDataAnalysisConsumptionNumber = 0
v.MonthlyIncreaseLimitDataAnalysisConsumptionNumber = 0
v.MonthlyBundleLimitExpiredDataAnalysisConsumptionNumber = 0
v.MonthlyIncreaseLimitExpiredDataAnalysisConsumptionNumber = 0
v.ManualDataAnalysisConsumptionNumber = 0
v.MonthlyNewManualDataAnalysisNumber = 0
v.MonthlyManualDataAnalysisConsumptionNumber = 0
v.Month = month
v.ID = 0
app.ModuleClients.BundleDB.Create(&v)
@ -643,25 +662,3 @@ func SetBundleBalanceLayout(req *bundle.SetBundleBalanceLayoutReq) error {
DoUpdates: clause.AssignmentColumns([]string{"data"}),
}).Create(&model.BundleBalanceLayout{Data: req.Data, UserId: uint64(req.UserId)}).Error
}
// 计算本月发放的限制类型数量
func cal(data model.BundleBalance, total, limit int, date time.Time) int {
var released int // 已释放的次数
if data.StartAt.Month() == date.Month() && data.StartAt.Year() == date.Year() { //第一个月释放的
} else if data.StartAt.Day() >= 16 {
released += (limit + 1) / 2
} else {
released += limit
}
interval := date.Year()*12 + int(date.Month()) - (data.StartAt.Year()*12 + int(data.StartAt.Month())) // 后续月份释放的
released += interval * limit
remaining := max(total-released, 0) // 还剩余多少次没有发放
if data.StartAt.Month() == date.Month() && data.StartAt.Year() == date.Year() && data.StartAt.Day() >= 16 { // 本月为第一个月并且16号后购买只给一半向上取整
return min((limit+1)/2, remaining)
}
if data.ExpiredAt.Month() == date.Month() && data.ExpiredAt.Year() == date.Year() && data.ExpiredAt.Day() < 16 { // 本月为最后一个月并且16号前到期只给一半向下取整
return min(limit/2, remaining)
}
return min(limit, remaining)
}

View File

@ -348,12 +348,21 @@ func CreateBundleBalance(req *bundle.CreateBundleBalanceReq) (*bundle.CreateBund
}
now := time.Now()
// 当月可用的限制类型数等于本月方法的套餐和增值两种类型的总和
data.MonthlyLimitVideoExpireNumber = cal(data, data.BundleLimitVideoExpiredNumber, data.MonthlyLimitVideoQuotaNumber, now) + cal(data, data.IncreaseLimitVideoExpiredNumber, data.MonthlyLimitVideoQuotaNumber, now)
data.MonthlyLimitVideoNumber = cal(data, data.BundleLimitVideoNumber, data.MonthlyLimitVideoQuotaNumber, now) + cal(data, data.IncreaseLimitVideoNumber, data.MonthlyLimitVideoQuotaNumber, now)
data.MonthlyLimitImageExpireNumber = cal(data, data.BundleLimitImageExpiredNumber, data.MonthlyLimitImageQuotaNumber, now) + cal(data, data.IncreaseLimitImageExpiredNumber, data.MonthlyLimitImageQuotaNumber, now)
data.MonthlyLimitImageNumber = cal(data, data.BundleLimitImageNumber, data.MonthlyLimitImageQuotaNumber, now) + cal(data, data.IncreaseLimitImageNumber, data.MonthlyLimitImageQuotaNumber, now)
data.MonthlyLimitDataAnalysisExpireNumber = cal(data, data.BundleLimitDataAnalysisExpiredNumber, data.MonthlyLimitDataAnalysisQuotaNumber, now) + cal(data, data.IncreaseLimitDataAnalysisExpiredNumber, data.MonthlyLimitDataAnalysisQuotaNumber, now)
data.MonthlyLimitDataAnalysisNumber = cal(data, data.BundleLimitDataAnalysisNumber, data.MonthlyLimitDataAnalysisQuotaNumber, now) + cal(data, data.IncreaseLimitDataAnalysisNumber, data.MonthlyLimitDataAnalysisQuotaNumber, now)
data.MonthlyBundleLimitExpiredVideoNumber = cal(data, data.BundleLimitVideoExpiredNumber, data.MonthlyLimitVideoQuotaNumber, now)
data.MonthlyIncreaseLimitExpiredVideoNumber = cal(data, data.IncreaseLimitVideoExpiredNumber, data.MonthlyLimitVideoQuotaNumber, now)
data.MonthlyBundleLimitVideoNumber = cal(data, data.BundleLimitVideoNumber, data.MonthlyLimitVideoQuotaNumber, now)
data.MonthlyIncreaseLimitVideoNumber = cal(data, data.IncreaseLimitVideoNumber, data.MonthlyLimitVideoQuotaNumber, now)
data.MonthlyBundleLimitExpiredImageNumber = cal(data, data.BundleLimitImageExpiredNumber, data.MonthlyLimitImageQuotaNumber, now)
data.MonthlyIncreaseLimitExpiredImageNumber = cal(data, data.IncreaseLimitImageExpiredNumber, data.MonthlyLimitImageQuotaNumber, now)
data.MonthlyBundleLimitImageNumber = cal(data, data.BundleLimitImageNumber, data.MonthlyLimitImageQuotaNumber, now)
data.MonthlyIncreaseLimitImageNumber = cal(data, data.IncreaseLimitImageNumber, data.MonthlyLimitImageQuotaNumber, now)
data.MonthlyBundleLimitExpiredDataAnalysisNumber = cal(data, data.BundleLimitDataAnalysisExpiredNumber, data.MonthlyLimitDataAnalysisQuotaNumber, now)
data.MonthlyIncreaseLimitExpiredDataAnalysisNumber = cal(data, data.IncreaseLimitDataAnalysisExpiredNumber, data.MonthlyLimitDataAnalysisQuotaNumber, now)
data.MonthlyBundleLimitDataAnalysisNumber = cal(data, data.BundleLimitDataAnalysisNumber, data.MonthlyLimitDataAnalysisQuotaNumber, now)
data.MonthlyIncreaseLimitDataAnalysisNumber = cal(data, data.IncreaseLimitDataAnalysisNumber, data.MonthlyLimitDataAnalysisQuotaNumber, now)
err = dao.CreateBundleBalance(data)
if err != nil {
logger.Error(err)
@ -573,3 +582,21 @@ func buildDefaultBalanceLayout() string {
b, _ := json.Marshal(jsonMap)
return string(b)
}
// func AutoConfirm() {
// data, err := dao.GetUnconfirmed()
// if err != nil {
// log.Print("无法获取到未确认的作品数据")
// return
// }
// for _, v := range data {
// var err error
// switch v.WorkCategory{
// case 1:
// }
// AddBundleBalance()
// ConfirmWork(&bundle.ConfirmWorkReq{
// WorkUuid: v.Uuid,
// })
// }
// }

View File

@ -206,12 +206,16 @@ type BundleBalance struct {
IncreaseLimitVideoConsumptionNumber int `gorm:"column:increase_limit_video_consumption_number;not null;comment:增值权益限制类型非过期使用数"`
BundleLimitVideoExpiredConsumptionNumber int `gorm:"column:bundle_limit_video_expired_consumption_number;not null;comment:套餐权益限制类型会过期使用数"`
IncreaseLimitVideoExpiredConsumptionNumber int `gorm:"column:increase_limit_video_expired_consumption_number;not null;comment:增值权益限制类型会过期使用数"`
MonthlyLimitVideoNumber int `gorm:"column:monthly_limit_video_number;not null;comment:当月限制类型视频可用数"`
MonthlyLimitVideoConsumptionNumber int `gorm:"column:monthly_limit_video_consumption_number;not null;comment:当月限制类型视频已使用额度"`
MonthlyLimitVideoExpireNumber int `gorm:"column:monthly_limit_video_expired_number;not null;comment:当月限制类型视频会过期可用数"`
MonthlyLimitVideoExpireConsumptionNumber int `gorm:"column:monthly_limit_video_expired_consumption_number;not null;comment:当月限制类型视频会过期已使用额度"`
MonthlyBundleVideoConsumptionNumber int `gorm:"column:monthly_bundle_video_consumption_number;not null;comment:当月套餐类型总使用数"`
MonthlyIncreaseVideoConsumptionNumber int `gorm:"column:monthly_increase_video_consumption_number;not null;comment:当月增值类型总使用数"`
MonthlyBundleVideoConsumptionNumber int `gorm:"column:monthly_bundle_video_consumption_number;not null;comment:当月套餐类型视频已使用额度"`
MonthlyIncreaseVideoConsumptionNumber int `gorm:"column:monthly_increase_video_consumption_number;not null;comment:当月增值类型视频已使用额度"`
MonthlyBundleLimitVideoNumber int `gorm:"column:monthly_bundle_limit_video_number;not null;comment:当月套餐限制类型视频可使用额度"`
MonthlyIncreaseLimitVideoNumber int `gorm:"column:monthly_increase_limit_video_number;not null;comment:当月增值限制类型视频可使用额度"`
MonthlyBundleLimitVideoConsumptionNumber int `gorm:"column:monthly_bundle_limit_video_consumption_number;not null;comment:当月套餐限制类型视频已使用额度"`
MonthlyIncreaseLimitVideoConsumptionNumber int `gorm:"column:monthly_increase_limit_video_consumption_number;not null;comment:当月增值限制类型视频已使用额度"`
MonthlyBundleLimitExpiredVideoNumber int `gorm:"column:monthly_bundle_limit_expired_video_number;not null;comment:当月套餐限制类会过期型视频可使用额度"`
MonthlyIncreaseLimitExpiredVideoNumber int `gorm:"column:monthly_increase_limit_expired_video_number;not null;comment:当月增值限制类会过期型视频可使用额度"`
MonthlyBundleLimitExpiredVideoConsumptionNumber int `gorm:"column:monthly_bundle_limit_expired_video_consumption_number;not null;comment:当月套餐限制类型会过期视频已使用额度"`
MonthlyIncreaseLimitExpiredVideoConsumptionNumber int `gorm:"column:monthly_increase_limit_expired_video_consumption_number;not null;comment:当月增值限制类会过期型视频已使用额度"`
MonthlyLimitVideoQuotaNumber int `gorm:"column:monthly_limit_video_quota_number;not null;comment:当月限制类型视频额度"`
ManualVideoNumber int `gorm:"column:manual_video_number;comment:手动扩展视频总数"`
ManualVideoConsumptionNumber int `gorm:"column:manual_video_consumption_number;comment:手动扩展视频使用数"`
@ -235,12 +239,16 @@ type BundleBalance struct {
IncreaseLimitImageConsumptionNumber int `gorm:"column:increase_limit_image_consumption_number;not null;comment:增值权益限制类型非过期使用数"`
BundleLimitImageExpiredConsumptionNumber int `gorm:"column:bundle_limit_image_expired_consumption_number;not null;comment:套餐权益限制类型会过期使用数"`
IncreaseLimitImageExpiredConsumptionNumber int `gorm:"column:increase_limit_image_expired_consumption_number;not null;comment:增值权益限制类型会过期使用数"`
MonthlyLimitImageNumber int `gorm:"column:monthly_limit_image_number;not null;comment:当月限制类型图片可使用额度"`
MonthlyLimitImageConsumptionNumber int `gorm:"column:monthly_limit_image_consumption_number;not null;comment:当月限制类型图片已使用额度"`
MonthlyLimitImageExpireNumber int `gorm:"column:monthly_limit_image_expired_number;not null;comment:当月限制类型图片会过期可用数"`
MonthlyLimitImageExpireConsumptionNumber int `gorm:"column:monthly_limit_image_expired_consumption_number;not null;comment:当月限制类型图片会过期已使用额度"`
MonthlyBundleImageConsumptionNumber int `gorm:"column:monthly_bundle_image_consumption_number;not null;comment:当月套餐类型总使用数"`
MonthlyIncreaseImageConsumptionNumber int `gorm:"column:monthly_increase_image_consumption_number;not null;comment:当月增值类型总使用数"`
MonthlyBundleImageConsumptionNumber int `gorm:"column:monthly_bundle_image_consumption_number;not null;comment:当月套餐类型图片已使用额度"`
MonthlyIncreaseImageConsumptionNumber int `gorm:"column:monthly_increase_image_consumption_number;not null;comment:当月增值类型图片已使用额度"`
MonthlyBundleLimitImageNumber int `gorm:"column:monthly_bundle_limit_image_number;not null;comment:当月套餐限制类型图片可使用额度"`
MonthlyIncreaseLimitImageNumber int `gorm:"column:monthly_increase_limit_image_number;not null;comment:当月增值限制类型图片可使用额度"`
MonthlyBundleLimitImageConsumptionNumber int `gorm:"column:monthly_bundle_limit_image_consumption_number;not null;comment:当月套餐限制类型图片已使用额度"`
MonthlyIncreaseLimitImageConsumptionNumber int `gorm:"column:monthly_increase_limit_image_consumption_number;not null;comment:当月增值限制类型图片已使用额度"`
MonthlyBundleLimitExpiredImageNumber int `gorm:"column:monthly_bundle_limit_expired_image_number;not null;comment:当月套餐限制类会过期型图片可使用额度"`
MonthlyIncreaseLimitExpiredImageNumber int `gorm:"column:monthly_increase_limit_expired_image_number;not null;comment:当月增值限制类会过期型图片可使用额度"`
MonthlyBundleLimitExpiredImageConsumptionNumber int `gorm:"column:monthly_bundle_limit_expired_image_consumption_number;not null;comment:当月套餐限制类型会过期图片已使用额度"`
MonthlyIncreaseLimitExpiredImageConsumptionNumber int `gorm:"column:monthly_increase_limit_expired_image_consumption_number;not null;comment:当月增值限制类会过期型图片已使用额度"`
MonthlyLimitImageQuotaNumber int `gorm:"column:monthly_limit_image_quota_number;not null;comment:当月限制类型图片额度"`
ManualImageNumber int `gorm:"column:manual_image_number;comment:手动扩展图片总数"`
ManualImageConsumptionNumber int `gorm:"column:manual_image_consumption_number;comment:手动扩展图片使用数"`
@ -264,12 +272,16 @@ type BundleBalance struct {
IncreaseLimitDataAnalysisConsumptionNumber int `gorm:"column:increase_limit_data_analysis_consumption_number;not null;comment:增值权益限制类型非过期使用数"`
BundleLimitDataAnalysisExpiredConsumptionNumber int `gorm:"column:bundle_limit_data_analysis_expired_consumption_number;not null;comment:套餐权益限制类型会过期使用数"`
IncreaseLimitDataAnalysisExpiredConsumptionNumber int `gorm:"column:increase_limit_data_analysis_expired_consumption_number;not null;comment:增值权益限制类型会过期使用数"`
MonthlyLimitDataAnalysisNumber int `gorm:"column:monthly_limit_data_analysis_number;not null;comment:当月限制类型数据分析可使用额度"`
MonthlyLimitDataAnalysisConsumptionNumber int `gorm:"column:monthly_limit_data_analysis_consumption_number;not null;comment:当月限制类型数据分析已使用额度"`
MonthlyLimitDataAnalysisExpireNumber int `gorm:"column:monthly_limit_data_analysis_expired_number;not null;comment:当月限制类型数据分析会过期可用数"`
MonthlyLimitDataAnalysisExpireConsumptionNumber int `gorm:"column:monthly_limit_data_analysis_expired_consumption_number;not null;comment:当月限制类型数据分析会过期已使用额度"`
MonthlyBundleDataAnalysisConsumptionNumber int `gorm:"column:monthly_bundle_data_analysis_consumption_number;not null;comment:当月套餐类型总使用数"`
MonthlyIncreaseDataAnalysisConsumptionNumber int `gorm:"column:monthly_increase_data_analysis_consumption_number;not null;comment:当月增值类型总使用数"`
MonthlyBundleDataAnalysisConsumptionNumber int `gorm:"column:monthly_bundle_data_analysis_consumption_number;not null;comment:当月套餐类型数据分析已使用额度"`
MonthlyIncreaseDataAnalysisConsumptionNumber int `gorm:"column:monthly_increase_data_analysis_consumption_number;not null;comment:当月增值类型数据分析已使用额度"`
MonthlyBundleLimitDataAnalysisNumber int `gorm:"column:monthly_bundle_limit_data_analysis_number;not null;comment:当月套餐限制类型数据分析可使用额度"`
MonthlyIncreaseLimitDataAnalysisNumber int `gorm:"column:monthly_increase_limit_data_analysis_number;not null;comment:当月增值限制类型数据分析可使用额度"`
MonthlyBundleLimitDataAnalysisConsumptionNumber int `gorm:"column:monthly_bundle_limit_data_analysis_consumption_number;not null;comment:当月套餐限制类型数据分析已使用额度"`
MonthlyIncreaseLimitDataAnalysisConsumptionNumber int `gorm:"column:monthly_increase_limit_data_analysis_consumption_number;not null;comment:当月增值限制类型数据分析已使用额度"`
MonthlyBundleLimitExpiredDataAnalysisNumber int `gorm:"column:monthly_bundle_limit_expired_data_analysis_number;not null;comment:当月套餐限制类会过期型数据分析可使用额度"`
MonthlyIncreaseLimitExpiredDataAnalysisNumber int `gorm:"column:monthly_increase_limit_expired_data_analysis_number;not null;comment:当月增值限制类会过期型数据分析可使用额度"`
MonthlyBundleLimitExpiredDataAnalysisConsumptionNumber int `gorm:"column:monthly_bundle_limit_expired_data_analysis_consumption_number;not null;comment:当月套餐限制类型会过期数据分析已使用额度"`
MonthlyIncreaseLimitExpiredDataAnalysisConsumptionNumber int `gorm:"column:monthly_increase_limit_expired_data_analysis_consumption_number;not null;comment:当月增值限制类会过期型数据分析已使用额度"`
MonthlyLimitDataAnalysisQuotaNumber int `gorm:"column:monthly_limit_data_analysis_quota_number;not null;comment:当月限制类型数据分析额度"`
ManualDataAnalysisNumber int `gorm:"column:manual_data_analysis_number;comment:手动扩展数据分析总数"`
ManualDataAnalysisConsumptionNumber int `gorm:"column:manual_data_analysis_consumption_number;comment:手动扩展数据分析使用数"`