优化表结构,重构模型,重新实现基于白银网关的提取节点流程

This commit is contained in:
2025-11-24 18:44:06 +08:00
parent 9a574f55cb
commit cb2a963a37
142 changed files with 6528 additions and 5808 deletions

View File

@@ -28,23 +28,28 @@ func newSession(db *gorm.DB, opts ...gen.DOOption) session {
tableName := _session.sessionDo.TableName()
_session.ALL = field.NewAsterisk(tableName)
_session.ID = field.NewInt32(tableName, "id")
_session.CreatedAt = field.NewTime(tableName, "created_at")
_session.UpdatedAt = field.NewTime(tableName, "updated_at")
_session.DeletedAt = field.NewField(tableName, "deleted_at")
_session.UserID = field.NewInt32(tableName, "user_id")
_session.AdminID = field.NewInt32(tableName, "admin_id")
_session.ClientID = field.NewInt32(tableName, "client_id")
_session.IP = field.NewString(tableName, "ip")
_session.IP = field.NewField(tableName, "ip")
_session.UA = field.NewString(tableName, "ua")
_session.AccessToken = field.NewString(tableName, "access_token")
_session.AccessTokenExpires = field.NewField(tableName, "access_token_expires")
_session.AccessTokenExpires = field.NewTime(tableName, "access_token_expires")
_session.RefreshToken = field.NewString(tableName, "refresh_token")
_session.RefreshTokenExpires = field.NewField(tableName, "refresh_token_expires")
_session.RefreshTokenExpires = field.NewTime(tableName, "refresh_token_expires")
_session.Scopes_ = field.NewString(tableName, "scopes")
_session.CreatedAt = field.NewField(tableName, "created_at")
_session.UpdatedAt = field.NewField(tableName, "updated_at")
_session.DeletedAt = field.NewField(tableName, "deleted_at")
_session.User = sessionBelongsToUser{
db: db.Session(&gorm.Session{}),
RelationField: field.NewRelation("User", "models.User"),
Admin: struct {
field.RelationField
}{
RelationField: field.NewRelation("User.Admin", "models.Admin"),
},
}
_session.Admin = sessionBelongsToAdmin{
@@ -68,20 +73,20 @@ type session struct {
sessionDo
ALL field.Asterisk
ID field.Int32 // 会话ID
UserID field.Int32 // 用户ID
AdminID field.Int32 // 管理员ID
ClientID field.Int32 // 客户端ID
IP field.String // IP地址
UA field.String // 用户代理
AccessToken field.String // 访问令牌
AccessTokenExpires field.Field // 访问令牌过期时间
RefreshToken field.String // 刷新令牌
RefreshTokenExpires field.Field // 刷新令牌过期时间
Scopes_ field.String // 权限范围
CreatedAt field.Field // 创建时间
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
ID field.Int32
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
UserID field.Int32
AdminID field.Int32
ClientID field.Int32
IP field.Field
UA field.String
AccessToken field.String
AccessTokenExpires field.Time
RefreshToken field.String
RefreshTokenExpires field.Time
Scopes_ field.String
User sessionBelongsToUser
Admin sessionBelongsToAdmin
@@ -104,19 +109,19 @@ func (s session) As(alias string) *session {
func (s *session) updateTableName(table string) *session {
s.ALL = field.NewAsterisk(table)
s.ID = field.NewInt32(table, "id")
s.CreatedAt = field.NewTime(table, "created_at")
s.UpdatedAt = field.NewTime(table, "updated_at")
s.DeletedAt = field.NewField(table, "deleted_at")
s.UserID = field.NewInt32(table, "user_id")
s.AdminID = field.NewInt32(table, "admin_id")
s.ClientID = field.NewInt32(table, "client_id")
s.IP = field.NewString(table, "ip")
s.IP = field.NewField(table, "ip")
s.UA = field.NewString(table, "ua")
s.AccessToken = field.NewString(table, "access_token")
s.AccessTokenExpires = field.NewField(table, "access_token_expires")
s.AccessTokenExpires = field.NewTime(table, "access_token_expires")
s.RefreshToken = field.NewString(table, "refresh_token")
s.RefreshTokenExpires = field.NewField(table, "refresh_token_expires")
s.RefreshTokenExpires = field.NewTime(table, "refresh_token_expires")
s.Scopes_ = field.NewString(table, "scopes")
s.CreatedAt = field.NewField(table, "created_at")
s.UpdatedAt = field.NewField(table, "updated_at")
s.DeletedAt = field.NewField(table, "deleted_at")
s.fillFieldMap()
@@ -135,6 +140,9 @@ func (s *session) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
func (s *session) fillFieldMap() {
s.fieldMap = make(map[string]field.Expr, 17)
s.fieldMap["id"] = s.ID
s.fieldMap["created_at"] = s.CreatedAt
s.fieldMap["updated_at"] = s.UpdatedAt
s.fieldMap["deleted_at"] = s.DeletedAt
s.fieldMap["user_id"] = s.UserID
s.fieldMap["admin_id"] = s.AdminID
s.fieldMap["client_id"] = s.ClientID
@@ -145,9 +153,6 @@ func (s *session) fillFieldMap() {
s.fieldMap["refresh_token"] = s.RefreshToken
s.fieldMap["refresh_token_expires"] = s.RefreshTokenExpires
s.fieldMap["scopes"] = s.Scopes_
s.fieldMap["created_at"] = s.CreatedAt
s.fieldMap["updated_at"] = s.UpdatedAt
s.fieldMap["deleted_at"] = s.DeletedAt
}
@@ -174,6 +179,10 @@ type sessionBelongsToUser struct {
db *gorm.DB
field.RelationField
Admin struct {
field.RelationField
}
}
func (a sessionBelongsToUser) Where(conds ...field.Expr) *sessionBelongsToUser {