43 lines
754 B
Go
Raw Normal View History

2025-05-07 15:03:19 +08:00
package entity
import (
"admin/apps/game/model"
2025-05-07 18:25:31 +08:00
"admin/internal/consts"
2025-05-07 15:03:19 +08:00
"admin/lib/cdkey"
)
var MaxKeyNum = 100000 // 每个批次直接搞10w个不然运营想补加码算法又要一开始定好数量
type CDKey struct {
Po *model.CDKey
}
func NewCDKey(po *model.CDKey) *CDKey {
return &CDKey{
Po: po,
}
}
2025-05-07 18:25:31 +08:00
func (c *CDKey) GetName() string {
return c.Po.Name
}
func (c *CDKey) IsGlobalType() bool {
return c.Po.CodeType == consts.CDKeyType_Global
}
2025-05-07 15:03:19 +08:00
func (c *CDKey) GenerateKeys() []string {
2025-05-07 18:25:31 +08:00
if c.IsGlobalType() {
return []string{c.Po.Code}
}
2025-05-07 15:03:19 +08:00
return cdkey.GenerateAll(c.Po.ID, MaxKeyNum)[:c.Po.CodeNum]
}
2025-05-07 18:25:31 +08:00
func (c *CDKey) AddCount(delta int) {
c.Po.CodeNum += delta
}
func (c *CDKey) GetCount() int {
return c.Po.CodeNum
}