feat: 优化CDK服务器冠名逻辑与鉴权
Some checks failed
ci/woodpecker/push/my-first-workflow Pipeline failed

This commit is contained in:
xinian
2026-04-08 19:31:44 +08:00
parent 28b6386963
commit 3b35789b47
5 changed files with 248 additions and 184 deletions

View File

@@ -131,9 +131,10 @@ func (s *ServerService) GetServerID(OnlineID uint32) model.ServerList {
}
// GetDonationAvailableServerIDs 返回当前可被冠名占用的服务器ID列表。
func (s *ServerService) GetDonationAvailableServerIDs() []uint32 {
now := time.Now()
builder := dbm_nocache_noenable(s.Model).Builder().Where("owner", 0).WhereOr("expire_time <= ?", now)
builder := dbm_nocache_noenable(s.Model).Builder().Where("owner", 0).WhereOr("cdk_expire_time <= ?", now)
var rows []struct {
OnlineID uint32 `json:"online_id"`
@@ -150,6 +151,7 @@ func (s *ServerService) GetDonationAvailableServerIDs() []uint32 {
return ids
}
// CanUseDonationName 校验目标服务器在当前时间点是否允许被冠名。
func (s *ServerService) CanUseDonationName(server model.ServerList, now time.Time) bool {
if server.OnlineID == 0 {
return false
@@ -157,7 +159,7 @@ func (s *ServerService) CanUseDonationName(server model.ServerList, now time.Tim
if server.Owner == 0 {
return true
}
return !server.ExpireTime.After(now)
return !server.CDKExpireTime.After(now)
}
// 保存版本号