package model import ( "time" "gorm.io/datatypes" ) type Log struct { Id int `gorm:"primary"` TraceId string Uid int64 RequestIp string Api string UserAgent string StatusCode int Message string ExtraData datatypes.JSON `gorm:"type:json"` CreatedAt time.Time UpdatedAt time.Time // 分表相关字段 tableName string `gorm:"-"` // 动态表名,不存储到数据库 } func (m *Log) TableName() string { if m.tableName != "" { return m.tableName } return "log" } // SetTableName 设置动态表名(用于分表) func (m *Log) SetTableName(tableName string) { m.tableName = tableName } // GetBaseTableName 实现TableModel接口 func (m *Log) GetBaseTableName() string { return "log" } // GetCreatedAt 实现TableModel接口 func (m *Log) GetCreatedAt() time.Time { return m.CreatedAt }