将 LocalDateTime 迁移到 orm
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
## todo
|
## todo
|
||||||
|
|
||||||
- 支付宝使用实际 appid
|
|
||||||
- 长效业务接入
|
- 长效业务接入
|
||||||
- 页面 账户总览
|
- 页面 账户总览
|
||||||
- 页面 提取记录
|
- 页面 提取记录
|
||||||
@@ -10,13 +9,6 @@
|
|||||||
- 支付回调处理
|
- 支付回调处理
|
||||||
- 保存 session 到数据库
|
- 保存 session 到数据库
|
||||||
|
|
||||||
### 重构
|
|
||||||
|
|
||||||
- 将 LocalDateTime 迁移到 orm
|
|
||||||
- globals 合并到 services 或者反之
|
|
||||||
- 自定义的服务错误没有必要,可以统一在 handler 层使用包装的 fiber.Error
|
|
||||||
- 增加 domain 层,缓解同包字段过长的问题
|
|
||||||
|
|
||||||
### 下阶段
|
### 下阶段
|
||||||
|
|
||||||
- 代理数据表的 secret 字段 aes 加密存储
|
- 代理数据表的 secret 字段 aes 加密存储
|
||||||
@@ -31,6 +23,7 @@
|
|||||||
|
|
||||||
### 长期
|
### 长期
|
||||||
|
|
||||||
|
- 将 orm 和 rds 迁移到 web/globals 中
|
||||||
- 业务代码和测试代码共用的控制变量可以优化为环境变量
|
- 业务代码和测试代码共用的控制变量可以优化为环境变量
|
||||||
- 考虑统计接口调用频率并通过接口展示
|
- 考虑统计接口调用频率并通过接口展示
|
||||||
- 考虑登录时曾经输入过验证码的用户,登录成功后允许一段时间内免输验证码
|
- 考虑登录时曾经输入过验证码的用户,登录成功后允许一段时间内免输验证码
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ func main() {
|
|||||||
common := []gen.ModelOpt{
|
common := []gen.ModelOpt{
|
||||||
gen.FieldModify(func(field gen.Field) gen.Field {
|
gen.FieldModify(func(field gen.Field) gen.Field {
|
||||||
if field.Type == "time.Time" {
|
if field.Type == "time.Time" {
|
||||||
field.Type = "core.LocalDateTime"
|
field.Type = "orm.LocalDateTime"
|
||||||
}
|
}
|
||||||
return field
|
return field
|
||||||
}),
|
}),
|
||||||
|
|||||||
85
pkg/orm/localdatetime.go
Normal file
85
pkg/orm/localdatetime.go
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
package orm
|
||||||
|
|
||||||
|
import (
|
||||||
|
"database/sql"
|
||||||
|
"database/sql/driver"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type LocalDateTime time.Time
|
||||||
|
|
||||||
|
var formats = []string{
|
||||||
|
"2006-01-02 15:04:05.999999999-07:00",
|
||||||
|
"2006-01-02T15:04:05.999999999-07:00",
|
||||||
|
"2006-01-02 15:04:05.999999999",
|
||||||
|
"2006-01-02T15:04:05.999999999",
|
||||||
|
"2006-01-02 15:04:05",
|
||||||
|
"2006-01-02T15:04:05",
|
||||||
|
"2006-01-02 15:04",
|
||||||
|
"2006-01-02T15:04",
|
||||||
|
"2006-01-02",
|
||||||
|
}
|
||||||
|
|
||||||
|
//goland:noinspection GoMixedReceiverTypes
|
||||||
|
func (ldt *LocalDateTime) Scan(value interface{}) (err error) {
|
||||||
|
var t time.Time
|
||||||
|
|
||||||
|
if strValue, ok := value.(string); ok {
|
||||||
|
var timeValue time.Time
|
||||||
|
for _, format := range formats {
|
||||||
|
timeValue, err = time.Parse(format, strValue)
|
||||||
|
if err == nil {
|
||||||
|
t = timeValue
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
t = timeValue
|
||||||
|
} else {
|
||||||
|
nullTime := &sql.NullTime{}
|
||||||
|
err = nullTime.Scan(value)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if nullTime == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
t = nullTime.Time
|
||||||
|
}
|
||||||
|
*ldt = LocalDateTime(time.Date(
|
||||||
|
t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second(), t.Nanosecond(), time.Local,
|
||||||
|
))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//goland:noinspection GoMixedReceiverTypes
|
||||||
|
func (ldt LocalDateTime) Value() (driver.Value, error) {
|
||||||
|
return time.Time(ldt).Local(), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// GormDataType gorm common data type
|
||||||
|
//
|
||||||
|
//goland:noinspection GoMixedReceiverTy
|
||||||
|
//goland:noinspection GoMixedReceiverTypes
|
||||||
|
func (ldt LocalDateTime) GormDataType() string {
|
||||||
|
return "ldt"
|
||||||
|
}
|
||||||
|
|
||||||
|
//goland:noinspection GoMixedReceiverTypes
|
||||||
|
func (ldt LocalDateTime) GobEncode() ([]byte, error) {
|
||||||
|
return time.Time(ldt).GobEncode()
|
||||||
|
}
|
||||||
|
|
||||||
|
//goland:noinspection GoMixedReceiverTypes
|
||||||
|
func (ldt *LocalDateTime) GobDecode(b []byte) error {
|
||||||
|
return (*time.Time)(ldt).GobDecode(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
//goland:noinspection GoMixedReceiverTypes
|
||||||
|
func (ldt LocalDateTime) MarshalJSON() ([]byte, error) {
|
||||||
|
return time.Time(ldt).MarshalJSON()
|
||||||
|
}
|
||||||
|
|
||||||
|
//goland:noinspection GoMixedReceiverTypes
|
||||||
|
func (ldt *LocalDateTime) UnmarshalJSON(b []byte) error {
|
||||||
|
return (*time.Time)(ldt).UnmarshalJSON(b)
|
||||||
|
}
|
||||||
@@ -2,15 +2,13 @@ package orm
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log/slog"
|
|
||||||
"platform/pkg/env"
|
|
||||||
"platform/web/queries"
|
|
||||||
|
|
||||||
"gorm.io/driver/postgres"
|
"gorm.io/driver/postgres"
|
||||||
"gorm.io/gen"
|
"gorm.io/gen"
|
||||||
"gorm.io/gen/field"
|
"gorm.io/gen/field"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
"gorm.io/gorm/schema"
|
"gorm.io/gorm/schema"
|
||||||
|
"log/slog"
|
||||||
|
"platform/pkg/env"
|
||||||
)
|
)
|
||||||
|
|
||||||
var DB *gorm.DB
|
var DB *gorm.DB
|
||||||
@@ -42,9 +40,6 @@ func Init() {
|
|||||||
conn.SetMaxIdleConns(10)
|
conn.SetMaxIdleConns(10)
|
||||||
conn.SetMaxOpenConns(100)
|
conn.SetMaxOpenConns(100)
|
||||||
|
|
||||||
// 初始化查询工具
|
|
||||||
queries.SetDefault(db)
|
|
||||||
|
|
||||||
DB = db
|
DB = db
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
package core
|
package core
|
||||||
|
|
||||||
import (
|
|
||||||
"database/sql"
|
|
||||||
"database/sql/driver"
|
|
||||||
"time"
|
|
||||||
)
|
|
||||||
|
|
||||||
// region page
|
// region page
|
||||||
|
|
||||||
type PageReq struct {
|
type PageReq struct {
|
||||||
@@ -46,85 +40,3 @@ type PageResp struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// endregion
|
// endregion
|
||||||
|
|
||||||
// region LocalDateTime
|
|
||||||
|
|
||||||
type LocalDateTime time.Time
|
|
||||||
|
|
||||||
var formats = []string{
|
|
||||||
"2006-01-02 15:04:05.999999999-07:00",
|
|
||||||
"2006-01-02T15:04:05.999999999-07:00",
|
|
||||||
"2006-01-02 15:04:05.999999999",
|
|
||||||
"2006-01-02T15:04:05.999999999",
|
|
||||||
"2006-01-02 15:04:05",
|
|
||||||
"2006-01-02T15:04:05",
|
|
||||||
"2006-01-02 15:04",
|
|
||||||
"2006-01-02T15:04",
|
|
||||||
"2006-01-02",
|
|
||||||
}
|
|
||||||
|
|
||||||
//goland:noinspection GoMixedReceiverTypes
|
|
||||||
func (ldt *LocalDateTime) Scan(value interface{}) (err error) {
|
|
||||||
var t time.Time
|
|
||||||
|
|
||||||
if strValue, ok := value.(string); ok {
|
|
||||||
var timeValue time.Time
|
|
||||||
for _, format := range formats {
|
|
||||||
timeValue, err = time.Parse(format, strValue)
|
|
||||||
if err == nil {
|
|
||||||
t = timeValue
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
t = timeValue
|
|
||||||
} else {
|
|
||||||
nullTime := &sql.NullTime{}
|
|
||||||
err = nullTime.Scan(value)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if nullTime == nil {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
t = nullTime.Time
|
|
||||||
}
|
|
||||||
*ldt = LocalDateTime(time.Date(
|
|
||||||
t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second(), t.Nanosecond(), time.Local,
|
|
||||||
))
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
//goland:noinspection GoMixedReceiverTypes
|
|
||||||
func (ldt LocalDateTime) Value() (driver.Value, error) {
|
|
||||||
return time.Time(ldt).Local(), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// GormDataType gorm common data type
|
|
||||||
//
|
|
||||||
//goland:noinspection GoMixedReceiverTy
|
|
||||||
//goland:noinspection GoMixedReceiverTypes
|
|
||||||
func (ldt LocalDateTime) GormDataType() string {
|
|
||||||
return "ldt"
|
|
||||||
}
|
|
||||||
|
|
||||||
//goland:noinspection GoMixedReceiverTypes
|
|
||||||
func (ldt LocalDateTime) GobEncode() ([]byte, error) {
|
|
||||||
return time.Time(ldt).GobEncode()
|
|
||||||
}
|
|
||||||
|
|
||||||
//goland:noinspection GoMixedReceiverTypes
|
|
||||||
func (ldt *LocalDateTime) GobDecode(b []byte) error {
|
|
||||||
return (*time.Time)(ldt).GobDecode(b)
|
|
||||||
}
|
|
||||||
|
|
||||||
//goland:noinspection GoMixedReceiverTypes
|
|
||||||
func (ldt LocalDateTime) MarshalJSON() ([]byte, error) {
|
|
||||||
return time.Time(ldt).MarshalJSON()
|
|
||||||
}
|
|
||||||
|
|
||||||
//goland:noinspection GoMixedReceiverTypes
|
|
||||||
func (ldt *LocalDateTime) UnmarshalJSON(b []byte) error {
|
|
||||||
return (*time.Time)(ldt).UnmarshalJSON(b)
|
|
||||||
}
|
|
||||||
|
|
||||||
// endregion
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package handlers
|
package handlers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"platform/pkg/orm"
|
||||||
"platform/web/auth"
|
"platform/web/auth"
|
||||||
"platform/web/core"
|
"platform/web/core"
|
||||||
q "platform/web/queries"
|
q "platform/web/queries"
|
||||||
@@ -41,10 +42,10 @@ func ListBill(c *fiber.Ctx) error {
|
|||||||
do.Where(q.Bill.Type.Eq(int32(*req.Type)))
|
do.Where(q.Bill.Type.Eq(int32(*req.Type)))
|
||||||
}
|
}
|
||||||
if req.CreateAfter != nil {
|
if req.CreateAfter != nil {
|
||||||
do.Where(q.Bill.CreatedAt.Gte(core.LocalDateTime(*req.CreateAfter)))
|
do.Where(q.Bill.CreatedAt.Gte(orm.LocalDateTime(*req.CreateAfter)))
|
||||||
}
|
}
|
||||||
if req.CreateBefore != nil {
|
if req.CreateBefore != nil {
|
||||||
do.Where(q.Bill.CreatedAt.Lte(core.LocalDateTime(*req.CreateBefore)))
|
do.Where(q.Bill.CreatedAt.Lte(orm.LocalDateTime(*req.CreateBefore)))
|
||||||
}
|
}
|
||||||
if req.BillNo != nil && *req.BillNo != "" {
|
if req.BillNo != nil && *req.BillNo != "" {
|
||||||
do.Where(q.Bill.BillNo.Eq(*req.BillNo))
|
do.Where(q.Bill.BillNo.Eq(*req.BillNo))
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package handlers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"platform/pkg/orm"
|
||||||
"platform/web/auth"
|
"platform/web/auth"
|
||||||
"platform/web/core"
|
"platform/web/core"
|
||||||
channel2 "platform/web/domains/channel"
|
channel2 "platform/web/domains/channel"
|
||||||
@@ -47,10 +48,10 @@ func ListChannels(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if req.ExpireAfter != nil {
|
if req.ExpireAfter != nil {
|
||||||
cond.Where(q.Channel.Expiration.Gte(core.LocalDateTime(*req.ExpireAfter)))
|
cond.Where(q.Channel.Expiration.Gte(orm.LocalDateTime(*req.ExpireAfter)))
|
||||||
}
|
}
|
||||||
if req.ExpireBefore != nil {
|
if req.ExpireBefore != nil {
|
||||||
cond.Where(q.Channel.Expiration.Lte(core.LocalDateTime(*req.ExpireBefore)))
|
cond.Where(q.Channel.Expiration.Lte(orm.LocalDateTime(*req.ExpireBefore)))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package handlers
|
package handlers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"platform/pkg/orm"
|
||||||
"platform/pkg/u"
|
"platform/pkg/u"
|
||||||
"platform/web/auth"
|
"platform/web/auth"
|
||||||
"platform/web/core"
|
"platform/web/core"
|
||||||
@@ -53,16 +54,16 @@ func ListResourcePss(c *fiber.Ctx) error {
|
|||||||
do.Where(q.ResourcePss.As(q.Resource.Pss.Name()).Type.Eq(int32(*req.Type)))
|
do.Where(q.ResourcePss.As(q.Resource.Pss.Name()).Type.Eq(int32(*req.Type)))
|
||||||
}
|
}
|
||||||
if req.CreateAfter != nil {
|
if req.CreateAfter != nil {
|
||||||
do.Where(q.Resource.CreatedAt.Gte(core.LocalDateTime(*req.CreateAfter)))
|
do.Where(q.Resource.CreatedAt.Gte(orm.LocalDateTime(*req.CreateAfter)))
|
||||||
}
|
}
|
||||||
if req.CreateBefore != nil {
|
if req.CreateBefore != nil {
|
||||||
do.Where(q.Resource.CreatedAt.Lte(core.LocalDateTime(*req.CreateBefore)))
|
do.Where(q.Resource.CreatedAt.Lte(orm.LocalDateTime(*req.CreateBefore)))
|
||||||
}
|
}
|
||||||
if req.ExpireAfter != nil {
|
if req.ExpireAfter != nil {
|
||||||
do.Where(q.ResourcePss.As(q.Resource.Pss.Name()).Expire.Gte(core.LocalDateTime(*req.ExpireAfter)))
|
do.Where(q.ResourcePss.As(q.Resource.Pss.Name()).Expire.Gte(orm.LocalDateTime(*req.ExpireAfter)))
|
||||||
}
|
}
|
||||||
if req.ExpireBefore != nil {
|
if req.ExpireBefore != nil {
|
||||||
do.Where(q.ResourcePss.As(q.Resource.Pss.Name()).Expire.Lte(core.LocalDateTime(*req.ExpireBefore)))
|
do.Where(q.ResourcePss.As(q.Resource.Pss.Name()).Expire.Lte(orm.LocalDateTime(*req.ExpireBefore)))
|
||||||
}
|
}
|
||||||
|
|
||||||
resource, err := q.Resource.Where(do).
|
resource, err := q.Resource.Where(do).
|
||||||
@@ -118,13 +119,13 @@ func AllResource(c *fiber.Ctx) error {
|
|||||||
q.Resource.Active.Is(true),
|
q.Resource.Active.Is(true),
|
||||||
q.Resource.Where(
|
q.Resource.Where(
|
||||||
pss.Type.Eq(int32(resource2.PssTypeTime)),
|
pss.Type.Eq(int32(resource2.PssTypeTime)),
|
||||||
pss.Expire.Gte(core.LocalDateTime(time.Now())),
|
pss.Expire.Gte(orm.LocalDateTime(time.Now())),
|
||||||
).Or(
|
).Or(
|
||||||
pss.Type.Eq(int32(resource2.PssTypeCount)),
|
pss.Type.Eq(int32(resource2.PssTypeCount)),
|
||||||
pss.Quota.GtCol(pss.Used),
|
pss.Quota.GtCol(pss.Used),
|
||||||
),
|
),
|
||||||
q.Resource.Where(
|
q.Resource.Where(
|
||||||
pss.DailyLast.Lt(core.LocalDateTime(u.Today())),
|
pss.DailyLast.Lt(orm.LocalDateTime(u.Today())),
|
||||||
).Or(
|
).Or(
|
||||||
pss.DailyUsed.LtCol(pss.DailyLimit),
|
pss.DailyUsed.LtCol(pss.DailyLimit),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,20 +14,20 @@ const TableNameAdmin = "admin"
|
|||||||
|
|
||||||
// Admin mapped from table <admin>
|
// Admin mapped from table <admin>
|
||||||
type Admin struct {
|
type Admin struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:管理员ID" json:"id"` // 管理员ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:管理员ID" json:"id"` // 管理员ID
|
||||||
Username string `gorm:"column:username;not null;comment:用户名" json:"username"` // 用户名
|
Username string `gorm:"column:username;not null;comment:用户名" json:"username"` // 用户名
|
||||||
Password string `gorm:"column:password;not null;comment:密码" json:"password"` // 密码
|
Password string `gorm:"column:password;not null;comment:密码" json:"password"` // 密码
|
||||||
Name string `gorm:"column:name;comment:真实姓名" json:"name"` // 真实姓名
|
Name string `gorm:"column:name;comment:真实姓名" json:"name"` // 真实姓名
|
||||||
Avatar string `gorm:"column:avatar;comment:头像URL" json:"avatar"` // 头像URL
|
Avatar string `gorm:"column:avatar;comment:头像URL" json:"avatar"` // 头像URL
|
||||||
Phone string `gorm:"column:phone;comment:手机号码" json:"phone"` // 手机号码
|
Phone string `gorm:"column:phone;comment:手机号码" json:"phone"` // 手机号码
|
||||||
Email string `gorm:"column:email;comment:邮箱" json:"email"` // 邮箱
|
Email string `gorm:"column:email;comment:邮箱" json:"email"` // 邮箱
|
||||||
Status int32 `gorm:"column:status;not null;default:1;comment:状态:0-禁用,1-正常" json:"status"` // 状态:0-禁用,1-正常
|
Status int32 `gorm:"column:status;not null;default:1;comment:状态:0-禁用,1-正常" json:"status"` // 状态:0-禁用,1-正常
|
||||||
LastLogin core.LocalDateTime `gorm:"column:last_login;comment:最后登录时间" json:"last_login"` // 最后登录时间
|
LastLogin orm.LocalDateTime `gorm:"column:last_login;comment:最后登录时间" json:"last_login"` // 最后登录时间
|
||||||
LastLoginHost string `gorm:"column:last_login_host;comment:最后登录地址" json:"last_login_host"` // 最后登录地址
|
LastLoginHost string `gorm:"column:last_login_host;comment:最后登录地址" json:"last_login_host"` // 最后登录地址
|
||||||
LastLoginAgent string `gorm:"column:last_login_agent;comment:最后登录代理" json:"last_login_agent"` // 最后登录代理
|
LastLoginAgent string `gorm:"column:last_login_agent;comment:最后登录代理" json:"last_login_agent"` // 最后登录代理
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Admin's table name
|
// TableName Admin's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,14 +14,14 @@ const TableNameAdminRole = "admin_role"
|
|||||||
|
|
||||||
// AdminRole mapped from table <admin_role>
|
// AdminRole mapped from table <admin_role>
|
||||||
type AdminRole struct {
|
type AdminRole struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:管理员角色ID" json:"id"` // 管理员角色ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:管理员角色ID" json:"id"` // 管理员角色ID
|
||||||
Name string `gorm:"column:name;not null;comment:角色名称" json:"name"` // 角色名称
|
Name string `gorm:"column:name;not null;comment:角色名称" json:"name"` // 角色名称
|
||||||
Description string `gorm:"column:description;comment:角色描述" json:"description"` // 角色描述
|
Description string `gorm:"column:description;comment:角色描述" json:"description"` // 角色描述
|
||||||
Active bool `gorm:"column:active;default:true;comment:是否激活" json:"active"` // 是否激活
|
Active bool `gorm:"column:active;default:true;comment:是否激活" json:"active"` // 是否激活
|
||||||
Sort int32 `gorm:"column:sort;comment:排序" json:"sort"` // 排序
|
Sort int32 `gorm:"column:sort;comment:排序" json:"sort"` // 排序
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName AdminRole's table name
|
// TableName AdminRole's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,12 +14,12 @@ const TableNameAdminRoleLink = "admin_role_link"
|
|||||||
|
|
||||||
// AdminRoleLink mapped from table <admin_role_link>
|
// AdminRoleLink mapped from table <admin_role_link>
|
||||||
type AdminRoleLink struct {
|
type AdminRoleLink struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
||||||
AdminID int32 `gorm:"column:admin_id;not null;comment:管理员ID" json:"admin_id"` // 管理员ID
|
AdminID int32 `gorm:"column:admin_id;not null;comment:管理员ID" json:"admin_id"` // 管理员ID
|
||||||
RoleID int32 `gorm:"column:role_id;not null;comment:角色ID" json:"role_id"` // 角色ID
|
RoleID int32 `gorm:"column:role_id;not null;comment:角色ID" json:"role_id"` // 角色ID
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName AdminRoleLink's table name
|
// TableName AdminRoleLink's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,12 +14,12 @@ const TableNameAdminRolePermissionLink = "admin_role_permission_link"
|
|||||||
|
|
||||||
// AdminRolePermissionLink mapped from table <admin_role_permission_link>
|
// AdminRolePermissionLink mapped from table <admin_role_permission_link>
|
||||||
type AdminRolePermissionLink struct {
|
type AdminRolePermissionLink struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
||||||
RoleID int32 `gorm:"column:role_id;not null;comment:角色ID" json:"role_id"` // 角色ID
|
RoleID int32 `gorm:"column:role_id;not null;comment:角色ID" json:"role_id"` // 角色ID
|
||||||
PermissionID int32 `gorm:"column:permission_id;not null;comment:权限ID" json:"permission_id"` // 权限ID
|
PermissionID int32 `gorm:"column:permission_id;not null;comment:权限ID" json:"permission_id"` // 权限ID
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName AdminRolePermissionLink's table name
|
// TableName AdminRolePermissionLink's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,16 +14,16 @@ const TableNameAnnouncement = "announcement"
|
|||||||
|
|
||||||
// Announcement mapped from table <announcement>
|
// Announcement mapped from table <announcement>
|
||||||
type Announcement struct {
|
type Announcement struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:公告ID" json:"id"` // 公告ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:公告ID" json:"id"` // 公告ID
|
||||||
Title string `gorm:"column:title;not null;comment:公告标题" json:"title"` // 公告标题
|
Title string `gorm:"column:title;not null;comment:公告标题" json:"title"` // 公告标题
|
||||||
Content string `gorm:"column:content;comment:公告内容" json:"content"` // 公告内容
|
Content string `gorm:"column:content;comment:公告内容" json:"content"` // 公告内容
|
||||||
Type int32 `gorm:"column:type;not null;default:1;comment:公告类型:1-普通公告" json:"type"` // 公告类型:1-普通公告
|
Type int32 `gorm:"column:type;not null;default:1;comment:公告类型:1-普通公告" json:"type"` // 公告类型:1-普通公告
|
||||||
Pin bool `gorm:"column:pin;not null;comment:是否置顶" json:"pin"` // 是否置顶
|
Pin bool `gorm:"column:pin;not null;comment:是否置顶" json:"pin"` // 是否置顶
|
||||||
Status int32 `gorm:"column:status;not null;default:1;comment:公告状态:0-禁用,1-正常" json:"status"` // 公告状态:0-禁用,1-正常
|
Status int32 `gorm:"column:status;not null;default:1;comment:公告状态:0-禁用,1-正常" json:"status"` // 公告状态:0-禁用,1-正常
|
||||||
Sort int32 `gorm:"column:sort;not null;comment:公告排序" json:"sort"` // 公告排序
|
Sort int32 `gorm:"column:sort;not null;comment:公告排序" json:"sort"` // 公告排序
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Announcement's table name
|
// TableName Announcement's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,21 +14,21 @@ const TableNameBill = "bill"
|
|||||||
|
|
||||||
// Bill mapped from table <bill>
|
// Bill mapped from table <bill>
|
||||||
type Bill struct {
|
type Bill struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:账单ID" json:"id"` // 账单ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:账单ID" json:"id"` // 账单ID
|
||||||
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
||||||
TradeID int32 `gorm:"column:trade_id;comment:订单ID" json:"trade_id"` // 订单ID
|
TradeID int32 `gorm:"column:trade_id;comment:订单ID" json:"trade_id"` // 订单ID
|
||||||
ResourceID int32 `gorm:"column:resource_id;comment:套餐ID" json:"resource_id"` // 套餐ID
|
ResourceID int32 `gorm:"column:resource_id;comment:套餐ID" json:"resource_id"` // 套餐ID
|
||||||
RefundID int32 `gorm:"column:refund_id;comment:退款ID" json:"refund_id"` // 退款ID
|
RefundID int32 `gorm:"column:refund_id;comment:退款ID" json:"refund_id"` // 退款ID
|
||||||
BillNo string `gorm:"column:bill_no;not null;comment:易读账单号" json:"bill_no"` // 易读账单号
|
BillNo string `gorm:"column:bill_no;not null;comment:易读账单号" json:"bill_no"` // 易读账单号
|
||||||
Info string `gorm:"column:info;comment:产品可读信息" json:"info"` // 产品可读信息
|
Info string `gorm:"column:info;comment:产品可读信息" json:"info"` // 产品可读信息
|
||||||
Type int32 `gorm:"column:type;not null;comment:账单类型:1-消费,2-退款,3-充值" json:"type"` // 账单类型:1-消费,2-退款,3-充值
|
Type int32 `gorm:"column:type;not null;comment:账单类型:1-消费,2-退款,3-充值" json:"type"` // 账单类型:1-消费,2-退款,3-充值
|
||||||
Amount float64 `gorm:"column:amount;not null;comment:账单金额" json:"amount"` // 账单金额
|
Amount float64 `gorm:"column:amount;not null;comment:账单金额" json:"amount"` // 账单金额
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
Trade *Trade `gorm:"foreignKey:TradeID" json:"trade"`
|
Trade *Trade `gorm:"foreignKey:TradeID" json:"trade"`
|
||||||
Refund *Refund `gorm:"foreignKey:RefundID" json:"refund"`
|
Refund *Refund `gorm:"foreignKey:RefundID" json:"refund"`
|
||||||
Resource *Resource `gorm:"foreignKey:ResourceID" json:"resource"`
|
Resource *Resource `gorm:"foreignKey:ResourceID" json:"resource"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Bill's table name
|
// TableName Bill's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,23 +14,23 @@ const TableNameChannel = "channel"
|
|||||||
|
|
||||||
// Channel mapped from table <channel>
|
// Channel mapped from table <channel>
|
||||||
type Channel struct {
|
type Channel struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:通道ID" json:"id"` // 通道ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:通道ID" json:"id"` // 通道ID
|
||||||
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
||||||
ProxyID int32 `gorm:"column:proxy_id;not null;comment:代理ID" json:"proxy_id"` // 代理ID
|
ProxyID int32 `gorm:"column:proxy_id;not null;comment:代理ID" json:"proxy_id"` // 代理ID
|
||||||
NodeID int32 `gorm:"column:node_id;comment:节点ID" json:"node_id"` // 节点ID
|
NodeID int32 `gorm:"column:node_id;comment:节点ID" json:"node_id"` // 节点ID
|
||||||
ProxyHost string `gorm:"column:proxy_host;not null;comment:代理地址" json:"proxy_host"` // 代理地址
|
ProxyHost string `gorm:"column:proxy_host;not null;comment:代理地址" json:"proxy_host"` // 代理地址
|
||||||
ProxyPort int32 `gorm:"column:proxy_port;not null;comment:转发端口" json:"proxy_port"` // 转发端口
|
ProxyPort int32 `gorm:"column:proxy_port;not null;comment:转发端口" json:"proxy_port"` // 转发端口
|
||||||
NodeHost string `gorm:"column:node_host;comment:节点地址" json:"node_host"` // 节点地址
|
NodeHost string `gorm:"column:node_host;comment:节点地址" json:"node_host"` // 节点地址
|
||||||
Protocol int32 `gorm:"column:protocol;comment:协议类型:1-http,2-https,3-socks5" json:"protocol"` // 协议类型:1-http,2-https,3-socks5
|
Protocol int32 `gorm:"column:protocol;comment:协议类型:1-http,2-https,3-socks5" json:"protocol"` // 协议类型:1-http,2-https,3-socks5
|
||||||
AuthIP bool `gorm:"column:auth_ip;not null;comment:IP认证" json:"auth_ip"` // IP认证
|
AuthIP bool `gorm:"column:auth_ip;not null;comment:IP认证" json:"auth_ip"` // IP认证
|
||||||
UserHost string `gorm:"column:user_host;comment:用户地址" json:"user_host"` // 用户地址
|
UserHost string `gorm:"column:user_host;comment:用户地址" json:"user_host"` // 用户地址
|
||||||
AuthPass bool `gorm:"column:auth_pass;not null;comment:密码认证" json:"auth_pass"` // 密码认证
|
AuthPass bool `gorm:"column:auth_pass;not null;comment:密码认证" json:"auth_pass"` // 密码认证
|
||||||
Username string `gorm:"column:username;comment:用户名" json:"username"` // 用户名
|
Username string `gorm:"column:username;comment:用户名" json:"username"` // 用户名
|
||||||
Password string `gorm:"column:password;comment:密码" json:"password"` // 密码
|
Password string `gorm:"column:password;comment:密码" json:"password"` // 密码
|
||||||
Expiration core.LocalDateTime `gorm:"column:expiration;not null;comment:过期时间" json:"expiration"` // 过期时间
|
Expiration orm.LocalDateTime `gorm:"column:expiration;not null;comment:过期时间" json:"expiration"` // 过期时间
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Channel's table name
|
// TableName Channel's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,21 +14,21 @@ const TableNameClient = "client"
|
|||||||
|
|
||||||
// Client mapped from table <client>
|
// Client mapped from table <client>
|
||||||
type Client struct {
|
type Client struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:客户端ID" json:"id"` // 客户端ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:客户端ID" json:"id"` // 客户端ID
|
||||||
ClientID string `gorm:"column:client_id;not null;comment:OAuth2客户端标识符" json:"client_id"` // OAuth2客户端标识符
|
ClientID string `gorm:"column:client_id;not null;comment:OAuth2客户端标识符" json:"client_id"` // OAuth2客户端标识符
|
||||||
ClientSecret string `gorm:"column:client_secret;not null;comment:OAuth2客户端密钥" json:"client_secret"` // OAuth2客户端密钥
|
ClientSecret string `gorm:"column:client_secret;not null;comment:OAuth2客户端密钥" json:"client_secret"` // OAuth2客户端密钥
|
||||||
RedirectURI string `gorm:"column:redirect_uri;comment:OAuth2 重定向URI" json:"redirect_uri"` // OAuth2 重定向URI
|
RedirectURI string `gorm:"column:redirect_uri;comment:OAuth2 重定向URI" json:"redirect_uri"` // OAuth2 重定向URI
|
||||||
GrantCode bool `gorm:"column:grant_code;not null;comment:允许授权码授予" json:"grant_code"` // 允许授权码授予
|
GrantCode bool `gorm:"column:grant_code;not null;comment:允许授权码授予" json:"grant_code"` // 允许授权码授予
|
||||||
GrantClient bool `gorm:"column:grant_client;not null;comment:允许客户端凭证授予" json:"grant_client"` // 允许客户端凭证授予
|
GrantClient bool `gorm:"column:grant_client;not null;comment:允许客户端凭证授予" json:"grant_client"` // 允许客户端凭证授予
|
||||||
GrantRefresh bool `gorm:"column:grant_refresh;not null;comment:允许刷新令牌授予" json:"grant_refresh"` // 允许刷新令牌授予
|
GrantRefresh bool `gorm:"column:grant_refresh;not null;comment:允许刷新令牌授予" json:"grant_refresh"` // 允许刷新令牌授予
|
||||||
GrantPassword bool `gorm:"column:grant_password;not null;comment:允许密码授予" json:"grant_password"` // 允许密码授予
|
GrantPassword bool `gorm:"column:grant_password;not null;comment:允许密码授予" json:"grant_password"` // 允许密码授予
|
||||||
Spec int32 `gorm:"column:spec;not null;comment:安全规范:1-native,2-browser,3-web,4-trusted" json:"spec"` // 安全规范:1-native,2-browser,3-web,4-trusted
|
Spec int32 `gorm:"column:spec;not null;comment:安全规范:1-native,2-browser,3-web,4-trusted" json:"spec"` // 安全规范:1-native,2-browser,3-web,4-trusted
|
||||||
Name string `gorm:"column:name;not null;comment:名称" json:"name"` // 名称
|
Name string `gorm:"column:name;not null;comment:名称" json:"name"` // 名称
|
||||||
Icon string `gorm:"column:icon;comment:图标URL" json:"icon"` // 图标URL
|
Icon string `gorm:"column:icon;comment:图标URL" json:"icon"` // 图标URL
|
||||||
Status int32 `gorm:"column:status;not null;default:1;comment:状态:0-禁用,1-正常" json:"status"` // 状态:0-禁用,1-正常
|
Status int32 `gorm:"column:status;not null;default:1;comment:状态:0-禁用,1-正常" json:"status"` // 状态:0-禁用,1-正常
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Client's table name
|
// TableName Client's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,12 +14,12 @@ const TableNameClientPermissionLink = "client_permission_link"
|
|||||||
|
|
||||||
// ClientPermissionLink mapped from table <client_permission_link>
|
// ClientPermissionLink mapped from table <client_permission_link>
|
||||||
type ClientPermissionLink struct {
|
type ClientPermissionLink struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
||||||
ClientID int32 `gorm:"column:client_id;not null;comment:客户端ID" json:"client_id"` // 客户端ID
|
ClientID int32 `gorm:"column:client_id;not null;comment:客户端ID" json:"client_id"` // 客户端ID
|
||||||
PermissionID int32 `gorm:"column:permission_id;not null;comment:权限ID" json:"permission_id"` // 权限ID
|
PermissionID int32 `gorm:"column:permission_id;not null;comment:权限ID" json:"permission_id"` // 权限ID
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName ClientPermissionLink's table name
|
// TableName ClientPermissionLink's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,17 +14,17 @@ const TableNameCoupon = "coupon"
|
|||||||
|
|
||||||
// Coupon mapped from table <coupon>
|
// Coupon mapped from table <coupon>
|
||||||
type Coupon struct {
|
type Coupon struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:优惠券ID" json:"id"` // 优惠券ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:优惠券ID" json:"id"` // 优惠券ID
|
||||||
UserID int32 `gorm:"column:user_id;comment:用户ID" json:"user_id"` // 用户ID
|
UserID int32 `gorm:"column:user_id;comment:用户ID" json:"user_id"` // 用户ID
|
||||||
Code string `gorm:"column:code;not null;comment:优惠券代码" json:"code"` // 优惠券代码
|
Code string `gorm:"column:code;not null;comment:优惠券代码" json:"code"` // 优惠券代码
|
||||||
Remark string `gorm:"column:remark;comment:优惠券备注" json:"remark"` // 优惠券备注
|
Remark string `gorm:"column:remark;comment:优惠券备注" json:"remark"` // 优惠券备注
|
||||||
Amount float64 `gorm:"column:amount;not null;comment:优惠券金额" json:"amount"` // 优惠券金额
|
Amount float64 `gorm:"column:amount;not null;comment:优惠券金额" json:"amount"` // 优惠券金额
|
||||||
MinAmount float64 `gorm:"column:min_amount;not null;comment:最低消费金额" json:"min_amount"` // 最低消费金额
|
MinAmount float64 `gorm:"column:min_amount;not null;comment:最低消费金额" json:"min_amount"` // 最低消费金额
|
||||||
Status int32 `gorm:"column:status;not null;comment:优惠券状态:0-未使用,1-已使用,2-已过期" json:"status"` // 优惠券状态:0-未使用,1-已使用,2-已过期
|
Status int32 `gorm:"column:status;not null;comment:优惠券状态:0-未使用,1-已使用,2-已过期" json:"status"` // 优惠券状态:0-未使用,1-已使用,2-已过期
|
||||||
ExpireAt core.LocalDateTime `gorm:"column:expire_at;comment:过期时间" json:"expire_at"` // 过期时间
|
ExpireAt orm.LocalDateTime `gorm:"column:expire_at;comment:过期时间" json:"expire_at"` // 过期时间
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Coupon's table name
|
// TableName Coupon's table name
|
||||||
|
|||||||
@@ -4,23 +4,23 @@
|
|||||||
|
|
||||||
package models
|
package models
|
||||||
|
|
||||||
import "platform/web/core"
|
import "platform/pkg/orm"
|
||||||
|
|
||||||
const TableNameLogsRequest = "logs_request"
|
const TableNameLogsRequest = "logs_request"
|
||||||
|
|
||||||
// LogsRequest mapped from table <logs_request>
|
// LogsRequest mapped from table <logs_request>
|
||||||
type LogsRequest struct {
|
type LogsRequest struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:访问日志ID" json:"id"` // 访问日志ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:访问日志ID" json:"id"` // 访问日志ID
|
||||||
Identity int32 `gorm:"column:identity;comment:访客身份:0-游客,1-用户,2-管理员,3-公共服务,4-安全服务,5-内部服务" json:"identity"` // 访客身份:0-游客,1-用户,2-管理员,3-公共服务,4-安全服务,5-内部服务
|
Identity int32 `gorm:"column:identity;comment:访客身份:0-游客,1-用户,2-管理员,3-公共服务,4-安全服务,5-内部服务" json:"identity"` // 访客身份:0-游客,1-用户,2-管理员,3-公共服务,4-安全服务,5-内部服务
|
||||||
Visitor int32 `gorm:"column:visitor;comment:访客ID" json:"visitor"` // 访客ID
|
Visitor int32 `gorm:"column:visitor;comment:访客ID" json:"visitor"` // 访客ID
|
||||||
IP string `gorm:"column:ip;not null;comment:IP地址" json:"ip"` // IP地址
|
IP string `gorm:"column:ip;not null;comment:IP地址" json:"ip"` // IP地址
|
||||||
Ua string `gorm:"column:ua;comment:用户代理" json:"ua"` // 用户代理
|
Ua string `gorm:"column:ua;comment:用户代理" json:"ua"` // 用户代理
|
||||||
Method string `gorm:"column:method;not null;comment:请求方法" json:"method"` // 请求方法
|
Method string `gorm:"column:method;not null;comment:请求方法" json:"method"` // 请求方法
|
||||||
Path string `gorm:"column:path;not null;comment:请求路径" json:"path"` // 请求路径
|
Path string `gorm:"column:path;not null;comment:请求路径" json:"path"` // 请求路径
|
||||||
Latency string `gorm:"column:latency;comment:请求延迟" json:"latency"` // 请求延迟
|
Latency string `gorm:"column:latency;comment:请求延迟" json:"latency"` // 请求延迟
|
||||||
Status int32 `gorm:"column:status;not null;comment:响应状态码" json:"status"` // 响应状态码
|
Status int32 `gorm:"column:status;not null;comment:响应状态码" json:"status"` // 响应状态码
|
||||||
Error string `gorm:"column:error;comment:错误信息" json:"error"` // 错误信息
|
Error string `gorm:"column:error;comment:错误信息" json:"error"` // 错误信息
|
||||||
Time core.LocalDateTime `gorm:"column:time;default:CURRENT_TIMESTAMP;comment:请求时间" json:"time"` // 请求时间
|
Time orm.LocalDateTime `gorm:"column:time;default:CURRENT_TIMESTAMP;comment:请求时间" json:"time"` // 请求时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName LogsRequest's table name
|
// TableName LogsRequest's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,21 +14,21 @@ const TableNameNode = "node"
|
|||||||
|
|
||||||
// Node mapped from table <node>
|
// Node mapped from table <node>
|
||||||
type Node struct {
|
type Node struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:节点ID" json:"id"` // 节点ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:节点ID" json:"id"` // 节点ID
|
||||||
ProxyID int32 `gorm:"column:proxy_id;comment:代理ID" json:"proxy_id"` // 代理ID
|
ProxyID int32 `gorm:"column:proxy_id;comment:代理ID" json:"proxy_id"` // 代理ID
|
||||||
Version int32 `gorm:"column:version;not null;comment:节点版本" json:"version"` // 节点版本
|
Version int32 `gorm:"column:version;not null;comment:节点版本" json:"version"` // 节点版本
|
||||||
Name string `gorm:"column:name;not null;comment:节点名称" json:"name"` // 节点名称
|
Name string `gorm:"column:name;not null;comment:节点名称" json:"name"` // 节点名称
|
||||||
Host string `gorm:"column:host;not null;comment:节点地址" json:"host"` // 节点地址
|
Host string `gorm:"column:host;not null;comment:节点地址" json:"host"` // 节点地址
|
||||||
Isp int32 `gorm:"column:isp;not null;comment:运营商:0-未知,1-电信,2-联通,3-移动" json:"isp"` // 运营商:0-未知,1-电信,2-联通,3-移动
|
Isp int32 `gorm:"column:isp;not null;comment:运营商:0-未知,1-电信,2-联通,3-移动" json:"isp"` // 运营商:0-未知,1-电信,2-联通,3-移动
|
||||||
Prov string `gorm:"column:prov;not null;comment:省份" json:"prov"` // 省份
|
Prov string `gorm:"column:prov;not null;comment:省份" json:"prov"` // 省份
|
||||||
City string `gorm:"column:city;not null;comment:城市" json:"city"` // 城市
|
City string `gorm:"column:city;not null;comment:城市" json:"city"` // 城市
|
||||||
ProxyPort int32 `gorm:"column:proxy_port;comment:代理端口" json:"proxy_port"` // 代理端口
|
ProxyPort int32 `gorm:"column:proxy_port;comment:代理端口" json:"proxy_port"` // 代理端口
|
||||||
Status int32 `gorm:"column:status;not null;comment:节点状态:0-离线,1-正常" json:"status"` // 节点状态:0-离线,1-正常
|
Status int32 `gorm:"column:status;not null;comment:节点状态:0-离线,1-正常" json:"status"` // 节点状态:0-离线,1-正常
|
||||||
Rtt int32 `gorm:"column:rtt;comment:延迟" json:"rtt"` // 延迟
|
Rtt int32 `gorm:"column:rtt;comment:延迟" json:"rtt"` // 延迟
|
||||||
Loss int32 `gorm:"column:loss;comment:丢包率" json:"loss"` // 丢包率
|
Loss int32 `gorm:"column:loss;comment:丢包率" json:"loss"` // 丢包率
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Node's table name
|
// TableName Node's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,13 +14,13 @@ const TableNamePermission = "permission"
|
|||||||
|
|
||||||
// Permission mapped from table <permission>
|
// Permission mapped from table <permission>
|
||||||
type Permission struct {
|
type Permission struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:权限ID" json:"id"` // 权限ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:权限ID" json:"id"` // 权限ID
|
||||||
ParentID int32 `gorm:"column:parent_id;comment:父权限ID" json:"parent_id"` // 父权限ID
|
ParentID int32 `gorm:"column:parent_id;comment:父权限ID" json:"parent_id"` // 父权限ID
|
||||||
Name string `gorm:"column:name;not null;comment:权限名称" json:"name"` // 权限名称
|
Name string `gorm:"column:name;not null;comment:权限名称" json:"name"` // 权限名称
|
||||||
Description string `gorm:"column:description;comment:权限描述" json:"description"` // 权限描述
|
Description string `gorm:"column:description;comment:权限描述" json:"description"` // 权限描述
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Permission's table name
|
// TableName Permission's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,15 +14,15 @@ const TableNameProduct = "product"
|
|||||||
|
|
||||||
// Product mapped from table <product>
|
// Product mapped from table <product>
|
||||||
type Product struct {
|
type Product struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:产品ID" json:"id"` // 产品ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:产品ID" json:"id"` // 产品ID
|
||||||
Code string `gorm:"column:code;not null;comment:产品代码" json:"code"` // 产品代码
|
Code string `gorm:"column:code;not null;comment:产品代码" json:"code"` // 产品代码
|
||||||
Name string `gorm:"column:name;not null;comment:产品名称" json:"name"` // 产品名称
|
Name string `gorm:"column:name;not null;comment:产品名称" json:"name"` // 产品名称
|
||||||
Description string `gorm:"column:description;comment:产品描述" json:"description"` // 产品描述
|
Description string `gorm:"column:description;comment:产品描述" json:"description"` // 产品描述
|
||||||
Sort int32 `gorm:"column:sort;not null;comment:排序" json:"sort"` // 排序
|
Sort int32 `gorm:"column:sort;not null;comment:排序" json:"sort"` // 排序
|
||||||
Status int32 `gorm:"column:status;not null;default:1;comment:产品状态:0-禁用,1-正常" json:"status"` // 产品状态:0-禁用,1-正常
|
Status int32 `gorm:"column:status;not null;default:1;comment:产品状态:0-禁用,1-正常" json:"status"` // 产品状态:0-禁用,1-正常
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Product's table name
|
// TableName Product's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,15 +14,15 @@ const TableNameProxy = "proxy"
|
|||||||
|
|
||||||
// Proxy mapped from table <proxy>
|
// Proxy mapped from table <proxy>
|
||||||
type Proxy struct {
|
type Proxy struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:代理服务ID" json:"id"` // 代理服务ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:代理服务ID" json:"id"` // 代理服务ID
|
||||||
Version int32 `gorm:"column:version;not null;comment:代理服务版本" json:"version"` // 代理服务版本
|
Version int32 `gorm:"column:version;not null;comment:代理服务版本" json:"version"` // 代理服务版本
|
||||||
Name string `gorm:"column:name;not null;comment:代理服务名称" json:"name"` // 代理服务名称
|
Name string `gorm:"column:name;not null;comment:代理服务名称" json:"name"` // 代理服务名称
|
||||||
Host string `gorm:"column:host;not null;comment:代理服务地址" json:"host"` // 代理服务地址
|
Host string `gorm:"column:host;not null;comment:代理服务地址" json:"host"` // 代理服务地址
|
||||||
Type int32 `gorm:"column:type;not null;comment:代理服务类型:1-三方,2-自有" json:"type"` // 代理服务类型:1-三方,2-自有
|
Type int32 `gorm:"column:type;not null;comment:代理服务类型:1-三方,2-自有" json:"type"` // 代理服务类型:1-三方,2-自有
|
||||||
Secret string `gorm:"column:secret;comment:代理服务密钥" json:"secret"` // 代理服务密钥
|
Secret string `gorm:"column:secret;comment:代理服务密钥" json:"secret"` // 代理服务密钥
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Proxy's table name
|
// TableName Proxy's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,15 +14,15 @@ const TableNameRefund = "refund"
|
|||||||
|
|
||||||
// Refund mapped from table <refund>
|
// Refund mapped from table <refund>
|
||||||
type Refund struct {
|
type Refund struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:退款ID" json:"id"` // 退款ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:退款ID" json:"id"` // 退款ID
|
||||||
TradeID int32 `gorm:"column:trade_id;not null;comment:订单ID" json:"trade_id"` // 订单ID
|
TradeID int32 `gorm:"column:trade_id;not null;comment:订单ID" json:"trade_id"` // 订单ID
|
||||||
ProductID int32 `gorm:"column:product_id;comment:产品ID" json:"product_id"` // 产品ID
|
ProductID int32 `gorm:"column:product_id;comment:产品ID" json:"product_id"` // 产品ID
|
||||||
Amount float64 `gorm:"column:amount;not null;comment:退款金额" json:"amount"` // 退款金额
|
Amount float64 `gorm:"column:amount;not null;comment:退款金额" json:"amount"` // 退款金额
|
||||||
Reason string `gorm:"column:reason;comment:退款原因" json:"reason"` // 退款原因
|
Reason string `gorm:"column:reason;comment:退款原因" json:"reason"` // 退款原因
|
||||||
Status int32 `gorm:"column:status;not null;comment:退款状态:0-待处理,1-已退款,2-已拒绝" json:"status"` // 退款状态:0-待处理,1-已退款,2-已拒绝
|
Status int32 `gorm:"column:status;not null;comment:退款状态:0-待处理,1-已退款,2-已拒绝" json:"status"` // 退款状态:0-待处理,1-已退款,2-已拒绝
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Refund's table name
|
// TableName Refund's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,15 +14,15 @@ const TableNameResource = "resource"
|
|||||||
|
|
||||||
// Resource mapped from table <resource>
|
// Resource mapped from table <resource>
|
||||||
type Resource struct {
|
type Resource struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:套餐ID" json:"id"` // 套餐ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:套餐ID" json:"id"` // 套餐ID
|
||||||
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
||||||
ResourceNo string `gorm:"column:resource_no;comment:套餐编号" json:"resource_no"` // 套餐编号
|
ResourceNo string `gorm:"column:resource_no;comment:套餐编号" json:"resource_no"` // 套餐编号
|
||||||
Active bool `gorm:"column:active;not null;default:true;comment:套餐状态" json:"active"` // 套餐状态
|
Active bool `gorm:"column:active;not null;default:true;comment:套餐状态" json:"active"` // 套餐状态
|
||||||
Type int32 `gorm:"column:type;not null;comment:套餐类型:1-动态,2-隧道,3-独享" json:"type"` // 套餐类型:1-动态,2-隧道,3-独享
|
Type int32 `gorm:"column:type;not null;comment:套餐类型:1-动态,2-隧道,3-独享" json:"type"` // 套餐类型:1-动态,2-隧道,3-独享
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
Pss *ResourcePss `gorm:"foreignKey:ResourceID;references:ID" json:"pss"`
|
Pss *ResourcePss `gorm:"foreignKey:ResourceID;references:ID" json:"pss"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Resource's table name
|
// TableName Resource's table name
|
||||||
|
|||||||
@@ -4,18 +4,18 @@
|
|||||||
|
|
||||||
package models
|
package models
|
||||||
|
|
||||||
import "platform/web/core"
|
import "platform/pkg/orm"
|
||||||
|
|
||||||
const TableNameResourcePsr = "resource_psr"
|
const TableNameResourcePsr = "resource_psr"
|
||||||
|
|
||||||
// ResourcePsr mapped from table <resource_psr>
|
// ResourcePsr mapped from table <resource_psr>
|
||||||
type ResourcePsr struct {
|
type ResourcePsr struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:ID" json:"id"` // ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:ID" json:"id"` // ID
|
||||||
ResourceID int32 `gorm:"column:resource_id;not null;comment:套餐ID" json:"resource_id"` // 套餐ID
|
ResourceID int32 `gorm:"column:resource_id;not null;comment:套餐ID" json:"resource_id"` // 套餐ID
|
||||||
Live int32 `gorm:"column:live;comment:轮换周期(秒)" json:"live"` // 轮换周期(秒)
|
Live int32 `gorm:"column:live;comment:轮换周期(秒)" json:"live"` // 轮换周期(秒)
|
||||||
Conn int32 `gorm:"column:conn;comment:最大连接数" json:"conn"` // 最大连接数
|
Conn int32 `gorm:"column:conn;comment:最大连接数" json:"conn"` // 最大连接数
|
||||||
Expire core.LocalDateTime `gorm:"column:expire;comment:过期时间" json:"expire"` // 过期时间
|
Expire orm.LocalDateTime `gorm:"column:expire;comment:过期时间" json:"expire"` // 过期时间
|
||||||
Used bool `gorm:"column:used;comment:是否已使用" json:"used"` // 是否已使用
|
Used bool `gorm:"column:used;comment:是否已使用" json:"used"` // 是否已使用
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName ResourcePsr's table name
|
// TableName ResourcePsr's table name
|
||||||
|
|||||||
@@ -4,22 +4,22 @@
|
|||||||
|
|
||||||
package models
|
package models
|
||||||
|
|
||||||
import "platform/web/core"
|
import "platform/pkg/orm"
|
||||||
|
|
||||||
const TableNameResourcePss = "resource_pss"
|
const TableNameResourcePss = "resource_pss"
|
||||||
|
|
||||||
// ResourcePss mapped from table <resource_pss>
|
// ResourcePss mapped from table <resource_pss>
|
||||||
type ResourcePss struct {
|
type ResourcePss struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:ID" json:"id"` // ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:ID" json:"id"` // ID
|
||||||
ResourceID int32 `gorm:"column:resource_id;not null;comment:套餐ID" json:"resource_id"` // 套餐ID
|
ResourceID int32 `gorm:"column:resource_id;not null;comment:套餐ID" json:"resource_id"` // 套餐ID
|
||||||
Type int32 `gorm:"column:type;comment:套餐类型:1-包时,2-包量" json:"type"` // 套餐类型:1-包时,2-包量
|
Type int32 `gorm:"column:type;comment:套餐类型:1-包时,2-包量" json:"type"` // 套餐类型:1-包时,2-包量
|
||||||
Live int32 `gorm:"column:live;comment:可用时长(秒)" json:"live"` // 可用时长(秒)
|
Live int32 `gorm:"column:live;comment:可用时长(秒)" json:"live"` // 可用时长(秒)
|
||||||
Expire core.LocalDateTime `gorm:"column:expire;comment:过期时间" json:"expire"` // 过期时间
|
Expire orm.LocalDateTime `gorm:"column:expire;comment:过期时间" json:"expire"` // 过期时间
|
||||||
Quota int32 `gorm:"column:quota;comment:配额数量" json:"quota"` // 配额数量
|
Quota int32 `gorm:"column:quota;comment:配额数量" json:"quota"` // 配额数量
|
||||||
Used int32 `gorm:"column:used;not null;comment:已用数量" json:"used"` // 已用数量
|
Used int32 `gorm:"column:used;not null;comment:已用数量" json:"used"` // 已用数量
|
||||||
DailyLimit int32 `gorm:"column:daily_limit;not null;comment:每日限制" json:"daily_limit"` // 每日限制
|
DailyLimit int32 `gorm:"column:daily_limit;not null;comment:每日限制" json:"daily_limit"` // 每日限制
|
||||||
DailyUsed int32 `gorm:"column:daily_used;not null;comment:今日已用数量" json:"daily_used"` // 今日已用数量
|
DailyUsed int32 `gorm:"column:daily_used;not null;comment:今日已用数量" json:"daily_used"` // 今日已用数量
|
||||||
DailyLast core.LocalDateTime `gorm:"column:daily_last;comment:今日最后使用时间" json:"daily_last"` // 今日最后使用时间
|
DailyLast orm.LocalDateTime `gorm:"column:daily_last;comment:今日最后使用时间" json:"daily_last"` // 今日最后使用时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName ResourcePss's table name
|
// TableName ResourcePss's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,23 +14,23 @@ const TableNameTrade = "trade"
|
|||||||
|
|
||||||
// Trade mapped from table <trade>
|
// Trade mapped from table <trade>
|
||||||
type Trade struct {
|
type Trade struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:订单ID" json:"id"` // 订单ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:订单ID" json:"id"` // 订单ID
|
||||||
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
||||||
InnerNo string `gorm:"column:inner_no;not null;comment:内部订单号" json:"inner_no"` // 内部订单号
|
InnerNo string `gorm:"column:inner_no;not null;comment:内部订单号" json:"inner_no"` // 内部订单号
|
||||||
OuterNo string `gorm:"column:outer_no;comment:外部订单号" json:"outer_no"` // 外部订单号
|
OuterNo string `gorm:"column:outer_no;comment:外部订单号" json:"outer_no"` // 外部订单号
|
||||||
Type int32 `gorm:"column:type;not null;comment:订单类型:1-购买产品,2-充值余额" json:"type"` // 订单类型:1-购买产品,2-充值余额
|
Type int32 `gorm:"column:type;not null;comment:订单类型:1-购买产品,2-充值余额" json:"type"` // 订单类型:1-购买产品,2-充值余额
|
||||||
Subject string `gorm:"column:subject;not null;comment:订单主题" json:"subject"` // 订单主题
|
Subject string `gorm:"column:subject;not null;comment:订单主题" json:"subject"` // 订单主题
|
||||||
Remark string `gorm:"column:remark;comment:订单备注" json:"remark"` // 订单备注
|
Remark string `gorm:"column:remark;comment:订单备注" json:"remark"` // 订单备注
|
||||||
Amount float64 `gorm:"column:amount;not null;comment:订单总金额" json:"amount"` // 订单总金额
|
Amount float64 `gorm:"column:amount;not null;comment:订单总金额" json:"amount"` // 订单总金额
|
||||||
Payment float64 `gorm:"column:payment;not null;comment:支付金额" json:"payment"` // 支付金额
|
Payment float64 `gorm:"column:payment;not null;comment:支付金额" json:"payment"` // 支付金额
|
||||||
Method int32 `gorm:"column:method;not null;comment:支付方式:1-支付宝,2-微信" json:"method"` // 支付方式:1-支付宝,2-微信
|
Method int32 `gorm:"column:method;not null;comment:支付方式:1-支付宝,2-微信" json:"method"` // 支付方式:1-支付宝,2-微信
|
||||||
Status int32 `gorm:"column:status;not null;comment:订单状态:0-待支付,1-已支付,2-已取消,3-已退款" json:"status"` // 订单状态:0-待支付,1-已支付,2-已取消,3-已退款
|
Status int32 `gorm:"column:status;not null;comment:订单状态:0-待支付,1-已支付,2-已取消,3-已退款" json:"status"` // 订单状态:0-待支付,1-已支付,2-已取消,3-已退款
|
||||||
PayURL string `gorm:"column:pay_url;comment:支付链接" json:"pay_url"` // 支付链接
|
PayURL string `gorm:"column:pay_url;comment:支付链接" json:"pay_url"` // 支付链接
|
||||||
PaidAt core.LocalDateTime `gorm:"column:paid_at;comment:支付时间" json:"paid_at"` // 支付时间
|
PaidAt orm.LocalDateTime `gorm:"column:paid_at;comment:支付时间" json:"paid_at"` // 支付时间
|
||||||
CancelAt core.LocalDateTime `gorm:"column:cancel_at;comment:取消时间" json:"cancel_at"` // 取消时间
|
CancelAt orm.LocalDateTime `gorm:"column:cancel_at;comment:取消时间" json:"cancel_at"` // 取消时间
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Trade's table name
|
// TableName Trade's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,27 +14,27 @@ const TableNameUser = "user"
|
|||||||
|
|
||||||
// User mapped from table <user>
|
// User mapped from table <user>
|
||||||
type User struct {
|
type User struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:用户ID" json:"id"` // 用户ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:用户ID" json:"id"` // 用户ID
|
||||||
AdminID int32 `gorm:"column:admin_id;comment:管理员ID" json:"admin_id"` // 管理员ID
|
AdminID int32 `gorm:"column:admin_id;comment:管理员ID" json:"admin_id"` // 管理员ID
|
||||||
Phone string `gorm:"column:phone;not null;comment:手机号码" json:"phone"` // 手机号码
|
Phone string `gorm:"column:phone;not null;comment:手机号码" json:"phone"` // 手机号码
|
||||||
Username string `gorm:"column:username;comment:用户名" json:"username"` // 用户名
|
Username string `gorm:"column:username;comment:用户名" json:"username"` // 用户名
|
||||||
Email string `gorm:"column:email" json:"email"`
|
Email string `gorm:"column:email" json:"email"`
|
||||||
Password string `gorm:"column:password;comment:用户密码" json:"password"` // 用户密码
|
Password string `gorm:"column:password;comment:用户密码" json:"password"` // 用户密码
|
||||||
Name string `gorm:"column:name;comment:真实姓名" json:"name"` // 真实姓名
|
Name string `gorm:"column:name;comment:真实姓名" json:"name"` // 真实姓名
|
||||||
Avatar string `gorm:"column:avatar;comment:头像URL" json:"avatar"` // 头像URL
|
Avatar string `gorm:"column:avatar;comment:头像URL" json:"avatar"` // 头像URL
|
||||||
Status int32 `gorm:"column:status;not null;default:1;comment:用户状态:0-禁用,1-正常" json:"status"` // 用户状态:0-禁用,1-正常
|
Status int32 `gorm:"column:status;not null;default:1;comment:用户状态:0-禁用,1-正常" json:"status"` // 用户状态:0-禁用,1-正常
|
||||||
Balance float64 `gorm:"column:balance;not null;comment:账户余额" json:"balance"` // 账户余额
|
Balance float64 `gorm:"column:balance;not null;comment:账户余额" json:"balance"` // 账户余额
|
||||||
IDType int32 `gorm:"column:id_type;not null;comment:认证类型:0-未认证,1-个人认证,2-企业认证" json:"id_type"` // 认证类型:0-未认证,1-个人认证,2-企业认证
|
IDType int32 `gorm:"column:id_type;not null;comment:认证类型:0-未认证,1-个人认证,2-企业认证" json:"id_type"` // 认证类型:0-未认证,1-个人认证,2-企业认证
|
||||||
IDNo string `gorm:"column:id_no;comment:身份证号或营业执照号" json:"id_no"` // 身份证号或营业执照号
|
IDNo string `gorm:"column:id_no;comment:身份证号或营业执照号" json:"id_no"` // 身份证号或营业执照号
|
||||||
IDToken string `gorm:"column:id_token;comment:身份验证标识" json:"id_token"` // 身份验证标识
|
IDToken string `gorm:"column:id_token;comment:身份验证标识" json:"id_token"` // 身份验证标识
|
||||||
ContactQQ string `gorm:"column:contact_qq;comment:QQ联系方式" json:"contact_qq"` // QQ联系方式
|
ContactQQ string `gorm:"column:contact_qq;comment:QQ联系方式" json:"contact_qq"` // QQ联系方式
|
||||||
ContactWechat string `gorm:"column:contact_wechat;comment:微信联系方式" json:"contact_wechat"` // 微信联系方式
|
ContactWechat string `gorm:"column:contact_wechat;comment:微信联系方式" json:"contact_wechat"` // 微信联系方式
|
||||||
LastLogin core.LocalDateTime `gorm:"column:last_login;comment:最后登录时间" json:"last_login"` // 最后登录时间
|
LastLogin orm.LocalDateTime `gorm:"column:last_login;comment:最后登录时间" json:"last_login"` // 最后登录时间
|
||||||
LastLoginHost string `gorm:"column:last_login_host;comment:最后登录地址" json:"last_login_host"` // 最后登录地址
|
LastLoginHost string `gorm:"column:last_login_host;comment:最后登录地址" json:"last_login_host"` // 最后登录地址
|
||||||
LastLoginAgent string `gorm:"column:last_login_agent;comment:最后登录代理" json:"last_login_agent"` // 最后登录代理
|
LastLoginAgent string `gorm:"column:last_login_agent;comment:最后登录代理" json:"last_login_agent"` // 最后登录代理
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName User's table name
|
// TableName User's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,14 +14,14 @@ const TableNameUserRole = "user_role"
|
|||||||
|
|
||||||
// UserRole mapped from table <user_role>
|
// UserRole mapped from table <user_role>
|
||||||
type UserRole struct {
|
type UserRole struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:角色ID" json:"id"` // 角色ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:角色ID" json:"id"` // 角色ID
|
||||||
Name string `gorm:"column:name;not null;comment:角色名称" json:"name"` // 角色名称
|
Name string `gorm:"column:name;not null;comment:角色名称" json:"name"` // 角色名称
|
||||||
Description string `gorm:"column:description;comment:角色描述" json:"description"` // 角色描述
|
Description string `gorm:"column:description;comment:角色描述" json:"description"` // 角色描述
|
||||||
Active bool `gorm:"column:active;default:true;comment:是否激活" json:"active"` // 是否激活
|
Active bool `gorm:"column:active;default:true;comment:是否激活" json:"active"` // 是否激活
|
||||||
Sort int32 `gorm:"column:sort;comment:排序" json:"sort"` // 排序
|
Sort int32 `gorm:"column:sort;comment:排序" json:"sort"` // 排序
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName UserRole's table name
|
// TableName UserRole's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,12 +14,12 @@ const TableNameUserRoleLink = "user_role_link"
|
|||||||
|
|
||||||
// UserRoleLink mapped from table <user_role_link>
|
// UserRoleLink mapped from table <user_role_link>
|
||||||
type UserRoleLink struct {
|
type UserRoleLink struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
||||||
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
||||||
RoleID int32 `gorm:"column:role_id;not null;comment:角色ID" json:"role_id"` // 角色ID
|
RoleID int32 `gorm:"column:role_id;not null;comment:角色ID" json:"role_id"` // 角色ID
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName UserRoleLink's table name
|
// TableName UserRoleLink's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,12 +14,12 @@ const TableNameUserRolePermissionLink = "user_role_permission_link"
|
|||||||
|
|
||||||
// UserRolePermissionLink mapped from table <user_role_permission_link>
|
// UserRolePermissionLink mapped from table <user_role_permission_link>
|
||||||
type UserRolePermissionLink struct {
|
type UserRolePermissionLink struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:关联ID" json:"id"` // 关联ID
|
||||||
RoleID int32 `gorm:"column:role_id;not null;comment:角色ID" json:"role_id"` // 角色ID
|
RoleID int32 `gorm:"column:role_id;not null;comment:角色ID" json:"role_id"` // 角色ID
|
||||||
PermissionID int32 `gorm:"column:permission_id;not null;comment:权限ID" json:"permission_id"` // 权限ID
|
PermissionID int32 `gorm:"column:permission_id;not null;comment:权限ID" json:"permission_id"` // 权限ID
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName UserRolePermissionLink's table name
|
// TableName UserRolePermissionLink's table name
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"platform/web/core"
|
"platform/pkg/orm"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
@@ -14,13 +14,13 @@ const TableNameWhitelist = "whitelist"
|
|||||||
|
|
||||||
// Whitelist mapped from table <whitelist>
|
// Whitelist mapped from table <whitelist>
|
||||||
type Whitelist struct {
|
type Whitelist struct {
|
||||||
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:白名单ID" json:"id"` // 白名单ID
|
ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:白名单ID" json:"id"` // 白名单ID
|
||||||
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
UserID int32 `gorm:"column:user_id;not null;comment:用户ID" json:"user_id"` // 用户ID
|
||||||
Host string `gorm:"column:host;not null;comment:IP地址" json:"host"` // IP地址
|
Host string `gorm:"column:host;not null;comment:IP地址" json:"host"` // IP地址
|
||||||
Remark string `gorm:"column:remark;comment:备注" json:"remark"` // 备注
|
Remark string `gorm:"column:remark;comment:备注" json:"remark"` // 备注
|
||||||
CreatedAt core.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
CreatedAt orm.LocalDateTime `gorm:"column:created_at;default:CURRENT_TIMESTAMP;comment:创建时间" json:"created_at"` // 创建时间
|
||||||
UpdatedAt core.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
UpdatedAt orm.LocalDateTime `gorm:"column:updated_at;default:CURRENT_TIMESTAMP;comment:更新时间" json:"updated_at"` // 更新时间
|
||||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间" json:"deleted_at"` // 删除时间
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName Whitelist's table name
|
// TableName Whitelist's table name
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ package services
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
|
"platform/pkg/orm"
|
||||||
auth2 "platform/web/auth"
|
auth2 "platform/web/auth"
|
||||||
"platform/web/core"
|
|
||||||
client2 "platform/web/domains/client"
|
client2 "platform/web/domains/client"
|
||||||
m "platform/web/models"
|
m "platform/web/models"
|
||||||
q "platform/web/queries"
|
q "platform/web/queries"
|
||||||
@@ -122,7 +122,7 @@ func (s *authService) OauthPassword(ctx context.Context, _ *m.Client, data *Gran
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 更新用户的登录时间
|
// 更新用户的登录时间
|
||||||
user.LastLogin = core.LocalDateTime(time.Now())
|
user.LastLogin = orm.LocalDateTime(time.Now())
|
||||||
user.LastLoginHost = ip
|
user.LastLoginHost = ip
|
||||||
user.LastLoginAgent = agent
|
user.LastLoginAgent = agent
|
||||||
if err := tx.User.Omit(q.User.AdminID).Save(user); err != nil {
|
if err := tx.User.Omit(q.User.AdminID).Save(user); err != nil {
|
||||||
|
|||||||
@@ -42,10 +42,10 @@ type ResourceInfo struct {
|
|||||||
Live int32
|
Live int32
|
||||||
DailyLimit int32
|
DailyLimit int32
|
||||||
DailyUsed int32
|
DailyUsed int32
|
||||||
DailyLast core.LocalDateTime
|
DailyLast orm.LocalDateTime
|
||||||
Quota int32
|
Quota int32
|
||||||
Used int32
|
Used int32
|
||||||
Expire core.LocalDateTime
|
Expire orm.LocalDateTime
|
||||||
}
|
}
|
||||||
|
|
||||||
// region RemoveChannel
|
// region RemoveChannel
|
||||||
@@ -362,7 +362,7 @@ func findChannels(q *q.Query, proxies []*m.Proxy) (channels []*m.Channel, err er
|
|||||||
q.Channel.ProxyPort).
|
q.Channel.ProxyPort).
|
||||||
Where(
|
Where(
|
||||||
q.Channel.ProxyID.In(proxyIds...),
|
q.Channel.ProxyID.In(proxyIds...),
|
||||||
q.Channel.Expiration.Gt(core.LocalDateTime(time.Now()))).
|
q.Channel.Expiration.Gt(orm.LocalDateTime(time.Now()))).
|
||||||
Group(
|
Group(
|
||||||
q.Channel.ProxyPort,
|
q.Channel.ProxyPort,
|
||||||
q.Channel.ProxyID).
|
q.Channel.ProxyID).
|
||||||
@@ -520,7 +520,7 @@ func calcChannels(
|
|||||||
ProxyHost: proxy.Host,
|
ProxyHost: proxy.Host,
|
||||||
ProxyPort: int32(port),
|
ProxyPort: int32(port),
|
||||||
Protocol: int32(protocol),
|
Protocol: int32(protocol),
|
||||||
Expiration: core.LocalDateTime(expiration),
|
Expiration: orm.LocalDateTime(expiration),
|
||||||
}
|
}
|
||||||
|
|
||||||
switch authType {
|
switch authType {
|
||||||
@@ -575,7 +575,7 @@ func calcChannels(
|
|||||||
func updateResource(rid string, resource *ResourceInfo, count int, now time.Time) (err error) {
|
func updateResource(rid string, resource *ResourceInfo, count int, now time.Time) (err error) {
|
||||||
toUpdate := m.ResourcePss{
|
toUpdate := m.ResourcePss{
|
||||||
Used: resource.Used + int32(count),
|
Used: resource.Used + int32(count),
|
||||||
DailyLast: core.LocalDateTime(now),
|
DailyLast: orm.LocalDateTime(now),
|
||||||
}
|
}
|
||||||
var last = time.Time(resource.DailyLast)
|
var last = time.Time(resource.DailyLast)
|
||||||
if now.Year() != last.Year() || now.Month() != last.Month() || now.Day() != last.Day() {
|
if now.Year() != last.Year() || now.Month() != last.Month() || now.Day() != last.Day() {
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"platform/pkg/orm"
|
||||||
"platform/pkg/testutil"
|
"platform/pkg/testutil"
|
||||||
"platform/web/auth"
|
"platform/web/auth"
|
||||||
"platform/web/core"
|
|
||||||
g "platform/web/globals"
|
g "platform/web/globals"
|
||||||
"platform/web/models"
|
"platform/web/models"
|
||||||
"reflect"
|
"reflect"
|
||||||
@@ -110,7 +110,7 @@ func Test_cache(t *testing.T) {
|
|||||||
|
|
||||||
// 准备测试数据
|
// 准备测试数据
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
expiration := core.LocalDateTime(now.Add(24 * time.Hour))
|
expiration := orm.LocalDateTime(now.Add(24 * time.Hour))
|
||||||
|
|
||||||
testChannels := []*models.Channel{
|
testChannels := []*models.Channel{
|
||||||
{
|
{
|
||||||
@@ -342,7 +342,7 @@ func Test_channelService_CreateChannel(t *testing.T) {
|
|||||||
ResourceID: 1,
|
ResourceID: 1,
|
||||||
Type: 1,
|
Type: 1,
|
||||||
Live: 180,
|
Live: 180,
|
||||||
Expire: core.LocalDateTime(time.Now().AddDate(1, 0, 0)),
|
Expire: orm.LocalDateTime(time.Now().AddDate(1, 0, 0)),
|
||||||
DailyLimit: 10000,
|
DailyLimit: 10000,
|
||||||
}
|
}
|
||||||
db.Exec("delete from resource_pss where true")
|
db.Exec("delete from resource_pss where true")
|
||||||
@@ -845,7 +845,7 @@ func Test_channelService_CreateChannel(t *testing.T) {
|
|||||||
ResourceID: 2,
|
ResourceID: 2,
|
||||||
Type: 1,
|
Type: 1,
|
||||||
Live: 180,
|
Live: 180,
|
||||||
Expire: core.LocalDateTime(time.Now().AddDate(1, 0, 0)),
|
Expire: orm.LocalDateTime(time.Now().AddDate(1, 0, 0)),
|
||||||
DailyLimit: 10000,
|
DailyLimit: 10000,
|
||||||
}
|
}
|
||||||
db.Create(resourcePss2)
|
db.Create(resourcePss2)
|
||||||
@@ -915,7 +915,7 @@ func Test_channelService_CreateChannel(t *testing.T) {
|
|||||||
ProxyID: 1,
|
ProxyID: 1,
|
||||||
ProxyPort: int32(i + 10000),
|
ProxyPort: int32(i + 10000),
|
||||||
UserID: 101,
|
UserID: 101,
|
||||||
Expiration: core.LocalDateTime(expr),
|
Expiration: orm.LocalDateTime(expr),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
db.CreateInBatches(channels, 1000)
|
db.CreateInBatches(channels, 1000)
|
||||||
@@ -1041,9 +1041,9 @@ func Test_channelService_RemoveChannels(t *testing.T) {
|
|||||||
|
|
||||||
// 创建通道
|
// 创建通道
|
||||||
channels := []models.Channel{
|
channels := []models.Channel{
|
||||||
{ID: 1, UserID: 101, ProxyID: 1, ProxyPort: 10001, Protocol: 1, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 1, UserID: 101, ProxyID: 1, ProxyPort: 10001, Protocol: 1, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
{ID: 2, UserID: 101, ProxyID: 1, ProxyPort: 10002, Protocol: 1, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 2, UserID: 101, ProxyID: 1, ProxyPort: 10002, Protocol: 1, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
{ID: 3, UserID: 101, ProxyID: 2, ProxyPort: 10001, Protocol: 3, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 3, UserID: 101, ProxyID: 2, ProxyPort: 10001, Protocol: 3, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存预设数据
|
// 保存预设数据
|
||||||
@@ -1155,9 +1155,9 @@ func Test_channelService_RemoveChannels(t *testing.T) {
|
|||||||
|
|
||||||
// 创建通道
|
// 创建通道
|
||||||
channels := []models.Channel{
|
channels := []models.Channel{
|
||||||
{ID: 1, UserID: 101, ProxyID: 1, ProxyPort: 10001, Protocol: 1, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 1, UserID: 101, ProxyID: 1, ProxyPort: 10001, Protocol: 1, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
{ID: 2, UserID: 101, ProxyID: 1, ProxyPort: 10002, Protocol: 1, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 2, UserID: 101, ProxyID: 1, ProxyPort: 10002, Protocol: 1, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
{ID: 3, UserID: 101, ProxyID: 2, ProxyPort: 10001, Protocol: 3, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 3, UserID: 101, ProxyID: 2, ProxyPort: 10001, Protocol: 3, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存预设数据
|
// 保存预设数据
|
||||||
@@ -1269,9 +1269,9 @@ func Test_channelService_RemoveChannels(t *testing.T) {
|
|||||||
|
|
||||||
// 创建通道
|
// 创建通道
|
||||||
channels := []models.Channel{
|
channels := []models.Channel{
|
||||||
{ID: 1, UserID: 101, ProxyID: 1, ProxyPort: 10001, Protocol: 1, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 1, UserID: 101, ProxyID: 1, ProxyPort: 10001, Protocol: 1, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
{ID: 2, UserID: 101, ProxyID: 1, ProxyPort: 10002, Protocol: 1, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 2, UserID: 101, ProxyID: 1, ProxyPort: 10002, Protocol: 1, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
{ID: 3, UserID: 102, ProxyID: 2, ProxyPort: 10001, Protocol: 3, Expiration: core.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
{ID: 3, UserID: 102, ProxyID: 2, ProxyPort: 10001, Protocol: 3, Expiration: orm.LocalDateTime(time.Now().Add(24 * time.Hour))},
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存预设数据
|
// 保存预设数据
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ import (
|
|||||||
"database/sql"
|
"database/sql"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"platform/pkg/orm"
|
||||||
"platform/pkg/rds"
|
"platform/pkg/rds"
|
||||||
"platform/web/core"
|
|
||||||
bill2 "platform/web/domains/bill"
|
bill2 "platform/web/domains/bill"
|
||||||
resource2 "platform/web/domains/resource"
|
resource2 "platform/web/domains/resource"
|
||||||
trade2 "platform/web/domains/trade"
|
trade2 "platform/web/domains/trade"
|
||||||
@@ -251,7 +251,7 @@ func createResource(q *q.Query, data *CreateResourceData, uid int32) (*m.Resourc
|
|||||||
Type: data.Type,
|
Type: data.Type,
|
||||||
Live: data.Live,
|
Live: data.Live,
|
||||||
Quota: data.Quota,
|
Quota: data.Quota,
|
||||||
Expire: core.LocalDateTime(time.Now().Add(time.Duration(data.Expire) * 24 * time.Hour)),
|
Expire: orm.LocalDateTime(time.Now().Add(time.Duration(data.Expire) * 24 * time.Hour)),
|
||||||
DailyLimit: data.DailyLimit,
|
DailyLimit: data.DailyLimit,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
"platform/pkg/env"
|
"platform/pkg/env"
|
||||||
|
"platform/pkg/orm"
|
||||||
"platform/pkg/u"
|
"platform/pkg/u"
|
||||||
"platform/web/core"
|
|
||||||
bill2 "platform/web/domains/bill"
|
bill2 "platform/web/domains/bill"
|
||||||
coupon2 "platform/web/domains/coupon"
|
coupon2 "platform/web/domains/coupon"
|
||||||
trade2 "platform/web/domains/trade"
|
trade2 "platform/web/domains/trade"
|
||||||
@@ -283,7 +283,7 @@ func (s *transactionService) CompleteTransaction(ctx context.Context, q *q.Query
|
|||||||
trade.Status = int32(trade2.StatusSuccess)
|
trade.Status = int32(trade2.StatusSuccess)
|
||||||
trade.OuterNo = transId
|
trade.OuterNo = transId
|
||||||
trade.Payment = payment
|
trade.Payment = payment
|
||||||
trade.PaidAt = core.LocalDateTime(paidAt)
|
trade.PaidAt = orm.LocalDateTime(paidAt)
|
||||||
trade.PayURL = ""
|
trade.PayURL = ""
|
||||||
_, err = q.Trade.WithContext(ctx).Updates(trade)
|
_, err = q.Trade.WithContext(ctx).Updates(trade)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -335,7 +335,7 @@ func (s *transactionService) FinishTransaction(ctx context.Context, q *q.Query,
|
|||||||
Select(q.Trade.Status, q.Trade.CancelAt, q.Trade.PayURL).
|
Select(q.Trade.Status, q.Trade.CancelAt, q.Trade.PayURL).
|
||||||
Updates(m.Trade{
|
Updates(m.Trade{
|
||||||
Status: int32(trade2.StatusCanceled),
|
Status: int32(trade2.StatusCanceled),
|
||||||
CancelAt: core.LocalDateTime(time),
|
CancelAt: orm.LocalDateTime(time),
|
||||||
PayURL: "",
|
PayURL: "",
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import (
|
|||||||
"log/slog"
|
"log/slog"
|
||||||
"net/http"
|
"net/http"
|
||||||
_ "net/http/pprof"
|
_ "net/http/pprof"
|
||||||
|
"platform/pkg/orm"
|
||||||
"platform/web/auth"
|
"platform/web/auth"
|
||||||
"platform/web/core"
|
|
||||||
g "platform/web/globals"
|
g "platform/web/globals"
|
||||||
m "platform/web/models"
|
m "platform/web/models"
|
||||||
q "platform/web/queries"
|
q "platform/web/queries"
|
||||||
@@ -50,6 +50,7 @@ func (s *Server) Run() error {
|
|||||||
g.InitWechatPay()
|
g.InitWechatPay()
|
||||||
g.InitAliyun()
|
g.InitAliyun()
|
||||||
g.InitValidator()
|
g.InitValidator()
|
||||||
|
q.SetDefault(orm.DB)
|
||||||
|
|
||||||
// config
|
// config
|
||||||
s.fiber = fiber.New(fiber.Config{
|
s.fiber = fiber.New(fiber.Config{
|
||||||
@@ -150,7 +151,7 @@ func useLogger() fiber.Handler {
|
|||||||
Latency: latency,
|
Latency: latency,
|
||||||
Status: int32(c.Response().StatusCode()),
|
Status: int32(c.Response().StatusCode()),
|
||||||
Error: errStr,
|
Error: errStr,
|
||||||
Time: core.LocalDateTime(reqTime),
|
Time: orm.LocalDateTime(reqTime),
|
||||||
}
|
}
|
||||||
if authType != auth.PayloadNone {
|
if authType != auth.PayloadNone {
|
||||||
item.Identity = int32(authType)
|
item.Identity = int32(authType)
|
||||||
|
|||||||
Reference in New Issue
Block a user