fix: 时间精度精确到秒 + 同步全部文档到最新状态
时间字段修正: - init.sql: 所有 TIMESTAMP 改为 TIMESTAMP(0),精确到秒 - GORM 模型: 所有时间字段添加 type:timestamp(0) tag - 已有数据库表通过 ALTER TABLE 修正列类型 文档同步(架构设计 + 实施步骤): - system-architecture.md: - auth 模块描述更新为"有状态 JWT Token 管理(Redis 存储)" - 开发环境端口 8080 → 8085 - phase1-foundation-and-auth.md: - Go 版本 1.22+ → 1.23+ - 常量命名更新为驼峰风格(UserStatusActive / RoleUser 等) - Task 4 完整重写:增加 token_store.go、TokenValidator 接口、有状态 JWT - Task 5 端口号 8080 → 8085,测试命令增加登出失效验证 - 依赖版本选择原则说明 Made-with: Cursor
This commit is contained in:
@@ -5,11 +5,11 @@ import "time"
|
||||
// Role 角色表模型,对应 auth_roles 表
|
||||
// 系统预置三种角色:user(普通用户)、admin(管理员)、super_admin(超级管理员)
|
||||
type Role struct {
|
||||
ID int `json:"id" gorm:"primaryKey;autoIncrement"` // 角色唯一标识,自增主键
|
||||
Code string `json:"code" gorm:"uniqueIndex;size:50;not null"` // 角色代码,全局唯一,如 user/admin/super_admin(对应 constants.RoleCode*)
|
||||
Name string `json:"name" gorm:"size:50;not null"` // 角色中文显示名称,如「普通用户」「管理员」
|
||||
Description string `json:"description" gorm:"size:200;default:''"` // 角色描述说明,用于后台管理界面展示
|
||||
CreatedAt time.Time `json:"created_at" gorm:"not null;autoCreateTime"` // 创建时间,由 GORM 自动填充
|
||||
ID int `json:"id" gorm:"primaryKey;autoIncrement"` // 角色唯一标识,自增主键
|
||||
Code string `json:"code" gorm:"uniqueIndex;size:50;not null"` // 角色代码,全局唯一,如 user/admin/super_admin(对应 constants.RoleCode*)
|
||||
Name string `json:"name" gorm:"size:50;not null"` // 角色中文显示名称,如「普通用户」「管理员」
|
||||
Description string `json:"description" gorm:"size:200;default:''"` // 角色描述说明,用于后台管理界面展示
|
||||
CreatedAt time.Time `json:"created_at" gorm:"not null;autoCreateTime;type:timestamp(0)"` // 创建时间,由 GORM 自动填充,精确到秒
|
||||
}
|
||||
|
||||
// TableName 指定数据库表名
|
||||
@@ -20,9 +20,9 @@ func (Role) TableName() string {
|
||||
// UserRole 用户角色关联表模型,对应 auth_user_roles 表
|
||||
// 采用联合主键(user_id + role_id),一个用户可拥有多个角色
|
||||
type UserRole struct {
|
||||
UserID int64 `json:"user_id" gorm:"primaryKey"` // 关联的用户 ID,外键指向 auth_users.id
|
||||
RoleID int `json:"role_id" gorm:"primaryKey"` // 关联的角色 ID,外键指向 auth_roles.id
|
||||
CreatedAt time.Time `json:"created_at" gorm:"not null;autoCreateTime"` // 角色分配时间,由 GORM 自动填充
|
||||
UserID int64 `json:"user_id" gorm:"primaryKey"` // 关联的用户 ID,外键指向 auth_users.id
|
||||
RoleID int `json:"role_id" gorm:"primaryKey"` // 关联的角色 ID,外键指向 auth_roles.id
|
||||
CreatedAt time.Time `json:"created_at" gorm:"not null;autoCreateTime;type:timestamp(0)"` // 角色分配时间,由 GORM 自动填充,精确到秒
|
||||
}
|
||||
|
||||
// TableName 指定数据库表名
|
||||
|
||||
Reference in New Issue
Block a user