优化数据库结构与数据插入逻辑

This commit is contained in:
2025-04-12 18:03:44 +08:00
parent 438a55cc3e
commit 8c268fd7a9
28 changed files with 218 additions and 213 deletions

View File

@@ -32,7 +32,6 @@ func newChannel(db *gorm.DB, opts ...gen.DOOption) channel {
_channel.ProxyID = field.NewInt32(tableName, "proxy_id")
_channel.NodeID = field.NewInt32(tableName, "node_id")
_channel.ProxyPort = field.NewInt32(tableName, "proxy_port")
_channel.Protocol = field.NewString(tableName, "protocol")
_channel.UserHost = field.NewString(tableName, "user_host")
_channel.NodeHost = field.NewString(tableName, "node_host")
_channel.AuthIP = field.NewBool(tableName, "auth_ip")
@@ -44,6 +43,7 @@ func newChannel(db *gorm.DB, opts ...gen.DOOption) channel {
_channel.UpdatedAt = field.NewField(tableName, "updated_at")
_channel.DeletedAt = field.NewField(tableName, "deleted_at")
_channel.ProxyHost = field.NewString(tableName, "proxy_host")
_channel.Protocol = field.NewInt32(tableName, "protocol")
_channel.fillFieldMap()
@@ -59,7 +59,6 @@ type channel struct {
ProxyID field.Int32 // 代理ID
NodeID field.Int32 // 节点ID
ProxyPort field.Int32 // 转发端口
Protocol field.String // 协议
UserHost field.String // 用户地址
NodeHost field.String // 节点地址
AuthIP field.Bool // IP认证
@@ -71,6 +70,7 @@ type channel struct {
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
ProxyHost field.String
Protocol field.Int32
fieldMap map[string]field.Expr
}
@@ -92,7 +92,6 @@ func (c *channel) updateTableName(table string) *channel {
c.ProxyID = field.NewInt32(table, "proxy_id")
c.NodeID = field.NewInt32(table, "node_id")
c.ProxyPort = field.NewInt32(table, "proxy_port")
c.Protocol = field.NewString(table, "protocol")
c.UserHost = field.NewString(table, "user_host")
c.NodeHost = field.NewString(table, "node_host")
c.AuthIP = field.NewBool(table, "auth_ip")
@@ -104,6 +103,7 @@ func (c *channel) updateTableName(table string) *channel {
c.UpdatedAt = field.NewField(table, "updated_at")
c.DeletedAt = field.NewField(table, "deleted_at")
c.ProxyHost = field.NewString(table, "proxy_host")
c.Protocol = field.NewInt32(table, "protocol")
c.fillFieldMap()
@@ -126,7 +126,6 @@ func (c *channel) fillFieldMap() {
c.fieldMap["proxy_id"] = c.ProxyID
c.fieldMap["node_id"] = c.NodeID
c.fieldMap["proxy_port"] = c.ProxyPort
c.fieldMap["protocol"] = c.Protocol
c.fieldMap["user_host"] = c.UserHost
c.fieldMap["node_host"] = c.NodeHost
c.fieldMap["auth_ip"] = c.AuthIP
@@ -138,6 +137,7 @@ func (c *channel) fillFieldMap() {
c.fieldMap["updated_at"] = c.UpdatedAt
c.fieldMap["deleted_at"] = c.DeletedAt
c.fieldMap["proxy_host"] = c.ProxyHost
c.fieldMap["protocol"] = c.Protocol
}
func (c channel) clone(db *gorm.DB) channel {

View File

@@ -31,7 +31,6 @@ func newNode(db *gorm.DB, opts ...gen.DOOption) node {
_node.Version = field.NewInt32(tableName, "version")
_node.Name = field.NewString(tableName, "name")
_node.Host = field.NewString(tableName, "host")
_node.Isp = field.NewString(tableName, "isp")
_node.Prov = field.NewString(tableName, "prov")
_node.City = field.NewString(tableName, "city")
_node.ProxyID = field.NewInt32(tableName, "proxy_id")
@@ -42,6 +41,7 @@ func newNode(db *gorm.DB, opts ...gen.DOOption) node {
_node.CreatedAt = field.NewField(tableName, "created_at")
_node.UpdatedAt = field.NewField(tableName, "updated_at")
_node.DeletedAt = field.NewField(tableName, "deleted_at")
_node.Isp = field.NewInt32(tableName, "isp")
_node.fillFieldMap()
@@ -56,7 +56,6 @@ type node struct {
Version field.Int32 // 节点版本
Name field.String // 节点名称
Host field.String // 节点地址
Isp field.String // 运营商
Prov field.String // 省份
City field.String // 城市
ProxyID field.Int32 // 代理ID
@@ -67,6 +66,7 @@ type node struct {
CreatedAt field.Field // 创建时间
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
Isp field.Int32
fieldMap map[string]field.Expr
}
@@ -87,7 +87,6 @@ func (n *node) updateTableName(table string) *node {
n.Version = field.NewInt32(table, "version")
n.Name = field.NewString(table, "name")
n.Host = field.NewString(table, "host")
n.Isp = field.NewString(table, "isp")
n.Prov = field.NewString(table, "prov")
n.City = field.NewString(table, "city")
n.ProxyID = field.NewInt32(table, "proxy_id")
@@ -98,6 +97,7 @@ func (n *node) updateTableName(table string) *node {
n.CreatedAt = field.NewField(table, "created_at")
n.UpdatedAt = field.NewField(table, "updated_at")
n.DeletedAt = field.NewField(table, "deleted_at")
n.Isp = field.NewInt32(table, "isp")
n.fillFieldMap()
@@ -119,7 +119,6 @@ func (n *node) fillFieldMap() {
n.fieldMap["version"] = n.Version
n.fieldMap["name"] = n.Name
n.fieldMap["host"] = n.Host
n.fieldMap["isp"] = n.Isp
n.fieldMap["prov"] = n.Prov
n.fieldMap["city"] = n.City
n.fieldMap["proxy_id"] = n.ProxyID
@@ -130,6 +129,7 @@ func (n *node) fillFieldMap() {
n.fieldMap["created_at"] = n.CreatedAt
n.fieldMap["updated_at"] = n.UpdatedAt
n.fieldMap["deleted_at"] = n.DeletedAt
n.fieldMap["isp"] = n.Isp
}
func (n node) clone(db *gorm.DB) node {

View File

@@ -34,6 +34,8 @@ func newRefund(db *gorm.DB, opts ...gen.DOOption) refund {
_refund.UpdatedAt = field.NewField(tableName, "updated_at")
_refund.DeletedAt = field.NewField(tableName, "deleted_at")
_refund.TradeID = field.NewInt32(tableName, "trade_id")
_refund.Reason = field.NewString(tableName, "reason")
_refund.Status = field.NewInt32(tableName, "status")
_refund.fillFieldMap()
@@ -51,6 +53,8 @@ type refund struct {
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
TradeID field.Int32
Reason field.String
Status field.Int32
fieldMap map[string]field.Expr
}
@@ -74,6 +78,8 @@ func (r *refund) updateTableName(table string) *refund {
r.UpdatedAt = field.NewField(table, "updated_at")
r.DeletedAt = field.NewField(table, "deleted_at")
r.TradeID = field.NewInt32(table, "trade_id")
r.Reason = field.NewString(table, "reason")
r.Status = field.NewInt32(table, "status")
r.fillFieldMap()
@@ -90,7 +96,7 @@ func (r *refund) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (r *refund) fillFieldMap() {
r.fieldMap = make(map[string]field.Expr, 7)
r.fieldMap = make(map[string]field.Expr, 9)
r.fieldMap["id"] = r.ID
r.fieldMap["product_id"] = r.ProductID
r.fieldMap["amount"] = r.Amount
@@ -98,6 +104,8 @@ func (r *refund) fillFieldMap() {
r.fieldMap["updated_at"] = r.UpdatedAt
r.fieldMap["deleted_at"] = r.DeletedAt
r.fieldMap["trade_id"] = r.TradeID
r.fieldMap["reason"] = r.Reason
r.fieldMap["status"] = r.Status
}
func (r refund) clone(db *gorm.DB) refund {

View File

@@ -34,6 +34,7 @@ func newResource(db *gorm.DB, opts ...gen.DOOption) resource {
_resource.UpdatedAt = field.NewField(tableName, "updated_at")
_resource.DeletedAt = field.NewField(tableName, "deleted_at")
_resource.ResourceNo = field.NewString(tableName, "resource_no")
_resource.Type = field.NewInt32(tableName, "type")
_resource.Pss = resourceHasOnePss{
db: db.Session(&gorm.Session{}),
@@ -56,6 +57,7 @@ type resource struct {
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
ResourceNo field.String
Type field.Int32
Pss resourceHasOnePss
fieldMap map[string]field.Expr
@@ -80,6 +82,7 @@ func (r *resource) updateTableName(table string) *resource {
r.UpdatedAt = field.NewField(table, "updated_at")
r.DeletedAt = field.NewField(table, "deleted_at")
r.ResourceNo = field.NewString(table, "resource_no")
r.Type = field.NewInt32(table, "type")
r.fillFieldMap()
@@ -96,7 +99,7 @@ func (r *resource) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (r *resource) fillFieldMap() {
r.fieldMap = make(map[string]field.Expr, 8)
r.fieldMap = make(map[string]field.Expr, 9)
r.fieldMap["id"] = r.ID
r.fieldMap["user_id"] = r.UserID
r.fieldMap["active"] = r.Active
@@ -104,6 +107,7 @@ func (r *resource) fillFieldMap() {
r.fieldMap["updated_at"] = r.UpdatedAt
r.fieldMap["deleted_at"] = r.DeletedAt
r.fieldMap["resource_no"] = r.ResourceNo
r.fieldMap["type"] = r.Type
}

View File

@@ -29,9 +29,6 @@ func newResourcePps(db *gorm.DB, opts ...gen.DOOption) resourcePps {
_resourcePps.ALL = field.NewAsterisk(tableName)
_resourcePps.ID = field.NewInt32(tableName, "id")
_resourcePps.ResourceID = field.NewInt32(tableName, "resource_id")
_resourcePps.CreatedAt = field.NewField(tableName, "created_at")
_resourcePps.UpdatedAt = field.NewField(tableName, "updated_at")
_resourcePps.DeletedAt = field.NewField(tableName, "deleted_at")
_resourcePps.fillFieldMap()
@@ -44,9 +41,6 @@ type resourcePps struct {
ALL field.Asterisk
ID field.Int32 // ID
ResourceID field.Int32 // 套餐ID
CreatedAt field.Field // 创建时间
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
fieldMap map[string]field.Expr
}
@@ -65,9 +59,6 @@ func (r *resourcePps) updateTableName(table string) *resourcePps {
r.ALL = field.NewAsterisk(table)
r.ID = field.NewInt32(table, "id")
r.ResourceID = field.NewInt32(table, "resource_id")
r.CreatedAt = field.NewField(table, "created_at")
r.UpdatedAt = field.NewField(table, "updated_at")
r.DeletedAt = field.NewField(table, "deleted_at")
r.fillFieldMap()
@@ -84,12 +75,9 @@ func (r *resourcePps) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (r *resourcePps) fillFieldMap() {
r.fieldMap = make(map[string]field.Expr, 5)
r.fieldMap = make(map[string]field.Expr, 2)
r.fieldMap["id"] = r.ID
r.fieldMap["resource_id"] = r.ResourceID
r.fieldMap["created_at"] = r.CreatedAt
r.fieldMap["updated_at"] = r.UpdatedAt
r.fieldMap["deleted_at"] = r.DeletedAt
}
func (r resourcePps) clone(db *gorm.DB) resourcePps {

View File

@@ -33,9 +33,6 @@ func newResourcePsr(db *gorm.DB, opts ...gen.DOOption) resourcePsr {
_resourcePsr.Conn = field.NewInt32(tableName, "conn")
_resourcePsr.Expire = field.NewTime(tableName, "expire")
_resourcePsr.Used = field.NewBool(tableName, "used")
_resourcePsr.CreatedAt = field.NewField(tableName, "created_at")
_resourcePsr.UpdatedAt = field.NewField(tableName, "updated_at")
_resourcePsr.DeletedAt = field.NewField(tableName, "deleted_at")
_resourcePsr.fillFieldMap()
@@ -52,9 +49,6 @@ type resourcePsr struct {
Conn field.Int32 // 最大连接数
Expire field.Time // 过期时间
Used field.Bool // 是否已使用
CreatedAt field.Field // 创建时间
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
fieldMap map[string]field.Expr
}
@@ -77,9 +71,6 @@ func (r *resourcePsr) updateTableName(table string) *resourcePsr {
r.Conn = field.NewInt32(table, "conn")
r.Expire = field.NewTime(table, "expire")
r.Used = field.NewBool(table, "used")
r.CreatedAt = field.NewField(table, "created_at")
r.UpdatedAt = field.NewField(table, "updated_at")
r.DeletedAt = field.NewField(table, "deleted_at")
r.fillFieldMap()
@@ -96,16 +87,13 @@ func (r *resourcePsr) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (r *resourcePsr) fillFieldMap() {
r.fieldMap = make(map[string]field.Expr, 9)
r.fieldMap = make(map[string]field.Expr, 6)
r.fieldMap["id"] = r.ID
r.fieldMap["resource_id"] = r.ResourceID
r.fieldMap["live"] = r.Live
r.fieldMap["conn"] = r.Conn
r.fieldMap["expire"] = r.Expire
r.fieldMap["used"] = r.Used
r.fieldMap["created_at"] = r.CreatedAt
r.fieldMap["updated_at"] = r.UpdatedAt
r.fieldMap["deleted_at"] = r.DeletedAt
}
func (r resourcePsr) clone(db *gorm.DB) resourcePsr {

View File

@@ -37,9 +37,6 @@ func newResourcePss(db *gorm.DB, opts ...gen.DOOption) resourcePss {
_resourcePss.DailyLimit = field.NewInt32(tableName, "daily_limit")
_resourcePss.DailyUsed = field.NewInt32(tableName, "daily_used")
_resourcePss.DailyLast = field.NewField(tableName, "daily_last")
_resourcePss.CreatedAt = field.NewField(tableName, "created_at")
_resourcePss.UpdatedAt = field.NewField(tableName, "updated_at")
_resourcePss.DeletedAt = field.NewField(tableName, "deleted_at")
_resourcePss.fillFieldMap()
@@ -60,9 +57,6 @@ type resourcePss struct {
DailyLimit field.Int32 // 每日限制
DailyUsed field.Int32 // 今日已用数量
DailyLast field.Field // 今日最后使用时间
CreatedAt field.Field // 创建时间
UpdatedAt field.Field // 更新时间
DeletedAt field.Field // 删除时间
fieldMap map[string]field.Expr
}
@@ -89,9 +83,6 @@ func (r *resourcePss) updateTableName(table string) *resourcePss {
r.DailyLimit = field.NewInt32(table, "daily_limit")
r.DailyUsed = field.NewInt32(table, "daily_used")
r.DailyLast = field.NewField(table, "daily_last")
r.CreatedAt = field.NewField(table, "created_at")
r.UpdatedAt = field.NewField(table, "updated_at")
r.DeletedAt = field.NewField(table, "deleted_at")
r.fillFieldMap()
@@ -108,7 +99,7 @@ func (r *resourcePss) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (r *resourcePss) fillFieldMap() {
r.fieldMap = make(map[string]field.Expr, 13)
r.fieldMap = make(map[string]field.Expr, 10)
r.fieldMap["id"] = r.ID
r.fieldMap["resource_id"] = r.ResourceID
r.fieldMap["type"] = r.Type
@@ -119,9 +110,6 @@ func (r *resourcePss) fillFieldMap() {
r.fieldMap["daily_limit"] = r.DailyLimit
r.fieldMap["daily_used"] = r.DailyUsed
r.fieldMap["daily_last"] = r.DailyLast
r.fieldMap["created_at"] = r.CreatedAt
r.fieldMap["updated_at"] = r.UpdatedAt
r.fieldMap["deleted_at"] = r.DeletedAt
}
func (r resourcePss) clone(db *gorm.DB) resourcePss {