first commit
All checks were successful
build / build (api, amd64, linux) (push) Successful in -47s
build / build (api, arm64, linux) (push) Successful in -48s
build / build (api.exe, amd64, windows) (push) Successful in -47s

This commit is contained in:
CN-JS-HuiBai
2026-04-17 09:49:16 +08:00
commit 1ed31b9292
73 changed files with 16458 additions and 0 deletions

52
internal/model/user.go Normal file
View File

@@ -0,0 +1,52 @@
package model
import (
"time"
)
type User struct {
ID int `gorm:"primaryKey;column:id" json:"id"`
ParentID *int `gorm:"column:parent_id" json:"parent_id"`
InviteUserID *int `gorm:"column:invite_user_id" json:"invite_user_id"`
TelegramID *int64 `gorm:"column:telegram_id" json:"telegram_id"`
Email string `gorm:"column:email;unique" json:"email"`
Password string `gorm:"column:password" json:"-"`
PasswordAlgo *string `gorm:"column:password_algo" json:"-"`
PasswordSalt *string `gorm:"column:password_salt" json:"-"`
Balance uint64 `gorm:"column:balance;default:0" json:"balance"`
Discount *int `gorm:"column:discount" json:"discount"`
CommissionType int `gorm:"column:commission_type;default:0" json:"commission_type"`
CommissionRate *int `gorm:"column:commission_rate" json:"commission_rate"`
CommissionBalance uint64 `gorm:"column:commission_balance;default:0" json:"commission_balance"`
T uint64 `gorm:"column:t;default:0" json:"t"`
U uint64 `gorm:"column:u;default:0" json:"u"`
D uint64 `gorm:"column:d;default:0" json:"d"`
TransferEnable uint64 `gorm:"column:transfer_enable;default:0" json:"transfer_enable"`
Banned bool `gorm:"column:banned" json:"banned"`
IsAdmin bool `gorm:"column:is_admin" json:"is_admin"`
IsStaff bool `gorm:"column:is_staff" json:"is_staff"`
LastLoginAt *int64 `gorm:"column:last_login_at" json:"last_login_at"`
LastLoginIP *int64 `gorm:"column:last_login_ip" json:"last_login_ip"`
UUID string `gorm:"column:uuid" json:"uuid"`
GroupID *int `gorm:"column:group_id" json:"group_id"`
PlanID *int `gorm:"column:plan_id" json:"plan_id"`
Plan *Plan `gorm:"foreignKey:PlanID" json:"plan"`
SpeedLimit *int `gorm:"column:speed_limit" json:"speed_limit"`
RemindExpire int `gorm:"column:remind_expire;default:1" json:"remind_expire"`
RemindTraffic int `gorm:"column:remind_traffic;default:1" json:"remind_traffic"`
Token string `gorm:"column:token" json:"token"`
ExpiredAt *int64 `gorm:"column:expired_at" json:"expired_at"`
Remarks *string `gorm:"column:remarks" json:"remarks"`
CreatedAt int64 `gorm:"column:created_at" json:"created_at"`
UpdatedAt int64 `gorm:"column:updated_at" json:"updated_at"`
DeviceLimit *int `gorm:"column:device_limit" json:"device_limit"`
OnlineCount *int `gorm:"column:online_count" json:"online_count"`
LastOnlineAt *time.Time `gorm:"column:last_online_at" json:"last_online_at"`
NextResetAt *int64 `gorm:"column:next_reset_at" json:"next_reset_at"`
LastResetAt *int64 `gorm:"column:last_reset_at" json:"last_reset_at"`
ResetCount int `gorm:"column:reset_count;default:0" json:"reset_count"`
}
func (User) TableName() string {
return "v2_user"
}