From b6dafddce1e54cf9f1ba349b22cfbd20ebe2533a Mon Sep 17 00:00:00 2001 From: landaiqing <3517283258@qq.com> Date: Tue, 3 Sep 2024 21:46:52 +0800 Subject: [PATCH] :card_file_box: optimize the database structure --- api/oauth_api/gitee_api.go | 2 +- api/oauth_api/github_api.go | 2 +- model/sca_auth_permission.go | 4 +--- model/sca_auth_role.go | 2 -- model/sca_auth_user.go | 13 +++++-------- model/sca_auth_user_device.go | 17 +++++++---------- model/sca_auth_user_social.go | 33 ++++++++------------------------- 7 files changed, 23 insertions(+), 50 deletions(-) diff --git a/api/oauth_api/gitee_api.go b/api/oauth_api/gitee_api.go index 3e05123..12cf741 100644 --- a/api/oauth_api/gitee_api.go +++ b/api/oauth_api/gitee_api.go @@ -224,7 +224,7 @@ func (OAuthAPI) GiteeCallback(c *gin.Context) { gitee := enum.OAuthSourceGitee userSocial = model.ScaAuthUserSocial{ UserID: &uidStr, - UUID: &Id, + OpenID: &Id, Source: &gitee, } err = userSocialService.AddUserSocial(userSocial) diff --git a/api/oauth_api/github_api.go b/api/oauth_api/github_api.go index 789ce2d..fbd5bcf 100644 --- a/api/oauth_api/github_api.go +++ b/api/oauth_api/github_api.go @@ -234,7 +234,7 @@ func (OAuthAPI) Callback(c *gin.Context) { github := enum.OAuthSourceGithub userSocial = model.ScaAuthUserSocial{ UserID: &uidStr, - UUID: &Id, + OpenID: &Id, Source: &github, } err = userSocialService.AddUserSocial(userSocial) diff --git a/model/sca_auth_permission.go b/model/sca_auth_permission.go index 941e255..8433389 100644 --- a/model/sca_auth_permission.go +++ b/model/sca_auth_permission.go @@ -13,15 +13,13 @@ type ScaAuthPermission struct { PermissionName *string `gorm:"column:permission_name;type:varchar(64);comment:权限名称" json:"permission_name"` // 权限名称 ParentID *int64 `gorm:"column:parent_id;type:bigint(20);comment:父ID" json:"parent_id"` // 父ID Type *int64 `gorm:"column:type;type:tinyint(4);comment:类型 0 菜单 1 接口" json:"type"` // 类型 0 菜单 1 目录 2 按钮 -1其他 - Path *string `gorm:"column:path;type:varchar(255);comment:路径" json:"path"` // 路径 + Path *string `gorm:"column:path;type:varchar(30);comment:路径" json:"path"` // 路径 Status *int64 `gorm:"column:status;type:tinyint(4);comment:状态 0 启用 1 停用" json:"status"` // 状态 0 启用 1 停用 Method *string `gorm:"column:method;type:varchar(20);comment:请求方式" json:"method"` // 请求方式 Icon *string `gorm:"column:icon;type:varchar(128);comment:图标" json:"icon"` // 图标 PermissionKey *string `gorm:"column:permission_key;type:varchar(64);comment:权限关键字" json:"permission_key"` // 权限关键字 Order *int64 `gorm:"column:order;type:int(11);comment:排序" json:"order"` // 排序 - CreatedBy *string `gorm:"column:created_by;type:varchar(32);comment:创建人" json:"created_by"` // 创建人 CreatedTime *time.Time `gorm:"column:created_time;type:datetime;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_time"` // 创建时间 - UpdateBy *string `gorm:"column:update_by;type:varchar(32);comment:更新人" json:"update_by"` // 更新人 UpdateTime *time.Time `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` // 更新时间 Deleted *int64 `gorm:"column:deleted;type:int(11);comment:是否删除" json:"deleted"` // 是否删除 Remark *string `gorm:"column:remark;type:varchar(255);comment:备注 描述" json:"remark"` // 备注 描述 diff --git a/model/sca_auth_role.go b/model/sca_auth_role.go index 3c6c51e..8f16432 100644 --- a/model/sca_auth_role.go +++ b/model/sca_auth_role.go @@ -12,9 +12,7 @@ type ScaAuthRole struct { ID int64 `gorm:"column:id;type:bigint(20);primaryKey;comment:主键ID" json:"id"` // 主键ID RoleName string `gorm:"column:role_name;type:varchar(32);not null;comment:角色名称" json:"role_name"` // 角色名称 RoleKey string `gorm:"column:role_key;type:varchar(64);not null;comment:角色关键字" json:"role_key"` // 角色关键字 - CreatedBy *string `gorm:"column:created_by;type:varchar(32);comment:创建人" json:"created_by"` // 创建人 CreatedTime *time.Time `gorm:"column:created_time;type:datetime;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_time"` // 创建时间 - UpdateBy *string `gorm:"column:update_by;type:varchar(32);comment:更新人" json:"update_by"` // 更新人 UpdateTime *time.Time `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` // 更新时间 Deleted *int64 `gorm:"column:deleted;type:int(11);comment:是否删除 0 未删除 1已删除" json:"deleted"` // 是否删除 0 未删除 1已删除 } diff --git a/model/sca_auth_user.go b/model/sca_auth_user.go index 100ad5e..1443b57 100644 --- a/model/sca_auth_user.go +++ b/model/sca_auth_user.go @@ -9,8 +9,8 @@ const TableNameScaAuthUser = "sca_auth_user" // ScaAuthUser 用户表 type ScaAuthUser struct { - ID int64 `gorm:"column:id;type:bigint(255);primaryKey;autoIncrement:true;comment:自增ID" json:"-"` // 自增ID - UID *string `gorm:"column:uid;type:varchar(255);comment:唯一ID" json:"uid"` // 唯一ID + ID int64 `gorm:"column:id;type:bigint(20);primaryKey;autoIncrement:true;comment:自增ID" json:"-"` // 自增ID + UID *string `gorm:"column:uid;type:varchar(20);comment:唯一ID" json:"uid"` // 唯一ID Username *string `gorm:"column:username;type:varchar(32);comment:用户名" json:"username"` // 用户名 Nickname *string `gorm:"column:nickname;type:varchar(32);comment:昵称" json:"nickname"` // 昵称 Email *string `gorm:"column:email;type:varchar(32);comment:邮箱" json:"email"` // 邮箱 @@ -20,15 +20,12 @@ type ScaAuthUser struct { Avatar *string `gorm:"column:avatar;type:varchar(255);comment:头像" json:"avatar"` // 头像 Status *int64 `gorm:"column:status;type:tinyint(4);default:0;comment:状态 0 正常 1 封禁" json:"status"` // 状态 0 正常 1 封禁 Introduce *string `gorm:"column:introduce;type:varchar(255);comment:介绍" json:"introduce"` // 介绍 - ExtJSON *string `gorm:"column:ext_json;type:varchar(255);comment:额外字段" json:"-"` // 额外字段 - CreatedBy *string `gorm:"column:created_by;type:varchar(32);comment:创建人" json:"created_by"` // 创建人 CreatedTime *time.Time `gorm:"column:created_time;type:datetime;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_time"` // 创建时间 - UpdateBy *string `gorm:"column:update_by;type:varchar(32);comment:更新人" json:"update_by"` // 更新人 UpdateTime *time.Time `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` // 更新时间 Deleted *int64 `gorm:"column:deleted;type:int(11);default:0;comment:是否删除 0 未删除 1 已删除" json:"-"` // 是否删除 0 未删除 1 已删除 - Blog *string `gorm:"column:blog;type:varchar(255);comment:博客" json:"blog"` // 博客 - Location *string `gorm:"column:location;type:varchar(255);comment:地址" json:"location"` // 地址 - Company *string `gorm:"column:company;type:varchar(255);comment:公司" json:"company"` // 公司 + Blog *string `gorm:"column:blog;type:varchar(30);comment:博客" json:"blog"` // 博客 + Location *string `gorm:"column:location;type:varchar(50);comment:地址" json:"location"` // 地址 + Company *string `gorm:"column:company;type:varchar(50);comment:公司" json:"company"` // 公司 } // TableName ScaAuthUser's table name diff --git a/model/sca_auth_user_device.go b/model/sca_auth_user_device.go index 8955ee6..3939218 100644 --- a/model/sca_auth_user_device.go +++ b/model/sca_auth_user_device.go @@ -9,19 +9,16 @@ const TableNameScaAuthUserDevice = "sca_auth_user_device" // ScaAuthUserDevice 用户设备信息 type ScaAuthUserDevice struct { ID int64 `gorm:"column:id;type:bigint(20);primaryKey;comment:主键ID" json:"id"` // 主键ID - UserID *string `gorm:"column:user_id;type:varchar(255);comment:用户ID" json:"user_id"` // 用户ID - IP *string `gorm:"column:ip;type:varchar(255);comment:登录IP" json:"ip"` // 登录IP - Location *string `gorm:"column:location;type:varchar(255);comment:地址" json:"location"` // 地址 - Agent string `gorm:"column:agent;type:longtext;comment:设备信息" json:"agent"` // 设备信息 - ExtJSON *string `gorm:"column:ext_json;type:varchar(255);comment:额外字段" json:"ext_json"` // 额外字段 - CreatedBy *string `gorm:"column:created_by;type:varchar(32);comment:创建人" json:"created_by"` // 创建人 + UserID *string `gorm:"column:user_id;type:varchar(20);comment:用户ID" json:"user_id"` // 用户ID + IP *string `gorm:"column:ip;type:varchar(20);comment:登录IP" json:"ip"` // 登录IP + Location *string `gorm:"column:location;type:varchar(20);comment:地址" json:"location"` // 地址 + Agent string `gorm:"column:agent;type:varchar(255);comment:设备信息" json:"agent"` // 设备信息 CreatedTime *time.Time `gorm:"column:created_time;type:datetime;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_time"` // 创建时间 - UpdateBy *string `gorm:"column:update_by;type:varchar(32);comment:更新人" json:"update_by"` // 更新人 UpdateTime *time.Time `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` // 更新时间 Deleted *int64 `gorm:"column:deleted;type:int(11);default:0;comment:是否删除" json:"deleted"` // 是否删除 - Browser *string `gorm:"column:browser;type:varchar(255);comment:浏览器" json:"browser"` // 浏览器 - OperatingSystem *string `gorm:"column:operating_system;type:varchar(255);comment:操作系统" json:"operating_system"` // 操作系统 - BrowserVersion *string `gorm:"column:browser_version;type:varchar(255);comment:浏览器版本" json:"browser_version"` // 浏览器版本 + Browser *string `gorm:"column:browser;type:varchar(20);comment:浏览器" json:"browser"` // 浏览器 + OperatingSystem *string `gorm:"column:operating_system;type:varchar(20);comment:操作系统" json:"operating_system"` // 操作系统 + BrowserVersion *string `gorm:"column:browser_version;type:varchar(20);comment:浏览器版本" json:"browser_version"` // 浏览器版本 Mobile *bool `gorm:"column:mobile;type:int(11);comment:是否为手机" json:"mobile"` // 是否为手机 Bot *bool `gorm:"column:bot;type:int(11);comment:是否为机器人" json:"bot"` // 是否为机器人 Mozilla *string `gorm:"column:mozilla;type:varchar(10);comment:火狐版本" json:"mozilla"` // 火狐版本 diff --git a/model/sca_auth_user_social.go b/model/sca_auth_user_social.go index c33c0a1..e96c4a1 100644 --- a/model/sca_auth_user_social.go +++ b/model/sca_auth_user_social.go @@ -8,31 +8,14 @@ const TableNameScaAuthUserSocial = "sca_auth_user_social" // ScaAuthUserSocial 社会用户信息表 type ScaAuthUserSocial struct { - ID int64 `gorm:"column:id;type:bigint(20);primaryKey;comment:主键ID" json:"id"` // 主键ID - UserID *string `gorm:"column:user_id;type:varchar(255);not null;comment:用户ID" json:"user_id"` // 用户ID - UUID *string `gorm:"column:uuid;type:varchar(255);comment:第三方系统的唯一ID" json:"uuid"` // 第三方系统的唯一ID - Source *string `gorm:"column:source;type:varchar(255);comment:第三方用户来源" json:"source"` // 第三方用户来源 - AccessToken *string `gorm:"column:access_token;type:varchar(255);comment:用户的授权令牌" json:"access_token"` // 用户的授权令牌 - ExpireIn *int64 `gorm:"column:expire_in;type:int(11);comment:第三方用户的授权令牌的有效期" json:"expire_in"` // 第三方用户的授权令牌的有效期 - RefreshToken *string `gorm:"column:refresh_token;type:varchar(255);comment:刷新令牌" json:"refresh_token"` // 刷新令牌 - OpenID *string `gorm:"column:open_id;type:varchar(255);comment:第三方用户的 open id" json:"open_id"` // 第三方用户的 open id - AccessCode *string `gorm:"column:access_code;type:varchar(255);comment:个别平台的授权信息" json:"access_code"` // 个别平台的授权信息 - UnionID *string `gorm:"column:union_id;type:varchar(255);comment:第三方用户的 union id" json:"union_id"` // 第三方用户的 union id - Scope *string `gorm:"column:scope;type:varchar(255);comment:第三方用户授予的权限" json:"scope"` // 第三方用户授予的权限 - TokenType *string `gorm:"column:token_type;type:varchar(255);comment:个别平台的授权信息" json:"token_type"` // 个别平台的授权信息 - IDToken *string `gorm:"column:id_token;type:varchar(255);comment:id token" json:"id_token"` // id token - MacAlgorithm *string `gorm:"column:mac_algorithm;type:varchar(255);comment:小米平台用户的附带属性" json:"mac_algorithm"` // 小米平台用户的附带属性 - MacKey *string `gorm:"column:mac_key;type:varchar(255);comment:小米平台用户的附带属性" json:"mac_key"` // 小米平台用户的附带属性 - Code *string `gorm:"column:code;type:varchar(255);comment:用户的授权code" json:"code"` // 用户的授权code - OauthToken *string `gorm:"column:oauth_token;type:varchar(255);comment:Twitter平台用户的附带属性" json:"oauth_token"` // Twitter平台用户的附带属性 - OauthTokenSecret *string `gorm:"column:oauth_token_secret;type:varchar(255);comment:Twitter平台用户的附带属性" json:"oauth_token_secret"` // Twitter平台用户的附带属性 - Status *string `gorm:"column:status;type:varchar(255);default:0;comment:状态 0正常 1 封禁" json:"status"` // 状态 0正常 1 封禁 - ExtJSON *string `gorm:"column:ext_json;type:varchar(255);comment:额外字段" json:"ext_json"` // 额外字段 - CreatedBy *string `gorm:"column:created_by;type:varchar(32);comment:创建人" json:"created_by"` // 创建人 - CreatedTime *time.Time `gorm:"column:created_time;type:datetime;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_time"` // 创建时间 - UpdateBy *string `gorm:"column:update_by;type:varchar(32);comment:更新人" json:"update_by"` // 更新人 - UpdateTime *time.Time `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` // 更新时间 - Deleted *int64 `gorm:"column:deleted;type:int(11);default:0;comment:是否删除" json:"deleted"` // 是否删除 + ID int64 `gorm:"column:id;type:bigint(20);primaryKey;comment:主键ID" json:"id"` // 主键ID + UserID *string `gorm:"column:user_id;type:varchar(20);not null;comment:用户ID" json:"user_id"` // 用户ID + Source *string `gorm:"column:source;type:varchar(10);comment:第三方用户来源" json:"source"` // 第三方用户来源 + OpenID *string `gorm:"column:open_id;type:varchar(50);comment:第三方用户的 open id" json:"open_id"` // 第三方用户的 open id + Status *int64 `gorm:"column:status;type:int(11);default:0;comment:状态 0正常 1 封禁" json:"status"` // 状态 0正常 1 封禁 + CreatedTime *time.Time `gorm:"column:created_time;type:datetime;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_time"` // 创建时间 + UpdateTime *time.Time `gorm:"column:update_time;type:datetime;default:CURRENT_TIMESTAMP;comment:更新时间" json:"update_time"` // 更新时间 + Deleted *int64 `gorm:"column:deleted;type:int(11);default:0;comment:是否删除" json:"deleted"` // 是否删除 } // TableName ScaAuthUserSocial's table name