refactor: 调整项目结构为单向依赖

This commit is contained in:
Forest
2025-12-26 15:40:24 +08:00
parent b3463769dc
commit e5a77853b0
98 changed files with 5503 additions and 3352 deletions

View File

@@ -0,0 +1,41 @@
package service
import (
"crypto/rand"
"encoding/hex"
"time"
)
type RedeemCode struct {
ID int64
Code string
Type string
Value float64
Status string
UsedBy *int64
UsedAt *time.Time
Notes string
CreatedAt time.Time
GroupID *int64
ValidityDays int
User *User
Group *Group
}
func (r *RedeemCode) IsUsed() bool {
return r.Status == StatusUsed
}
func (r *RedeemCode) CanUse() bool {
return r.Status == StatusUnused
}
func GenerateRedeemCode() (string, error) {
b := make([]byte, 16)
if _, err := rand.Read(b); err != nil {
return "", err
}
return hex.EncodeToString(b), nil
}