优化表结构,重构模型,重新实现基于白银网关的提取节点流程
This commit is contained in:
@@ -6,49 +6,6 @@ import (
|
||||
"runtime"
|
||||
)
|
||||
|
||||
// region page
|
||||
|
||||
type PageReq struct {
|
||||
RawPage int `json:"page"`
|
||||
RawSize int `json:"size"`
|
||||
}
|
||||
|
||||
func (p *PageReq) GetPage() int {
|
||||
if p.RawPage < 1 {
|
||||
return 1
|
||||
}
|
||||
return p.RawPage
|
||||
}
|
||||
|
||||
func (p *PageReq) GetSize() int {
|
||||
if p.RawSize < 1 {
|
||||
return 10
|
||||
}
|
||||
if p.RawSize > 100 {
|
||||
return 100
|
||||
}
|
||||
return p.RawSize
|
||||
}
|
||||
|
||||
func (p *PageReq) GetOffset() int {
|
||||
return (p.GetPage() - 1) * p.GetSize()
|
||||
}
|
||||
|
||||
func (p *PageReq) GetLimit() int {
|
||||
return p.GetSize()
|
||||
}
|
||||
|
||||
type PageResp struct {
|
||||
Total int `json:"total"`
|
||||
Page int `json:"page"`
|
||||
Size int `json:"size"`
|
||||
List any `json:"list"`
|
||||
}
|
||||
|
||||
// endregion
|
||||
|
||||
// region error
|
||||
|
||||
type Err struct {
|
||||
msg string
|
||||
err error
|
||||
@@ -109,5 +66,3 @@ type ServErr struct{ Err }
|
||||
func NewServErr(msg string, err ...error) *ServErr {
|
||||
return &ServErr{newErr(msg, err...)}
|
||||
}
|
||||
|
||||
// endregion
|
||||
43
web/core/http.go
Normal file
43
web/core/http.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package core
|
||||
|
||||
const HeaderUserIP = "X-Data-IP"
|
||||
const HeaderUserUA = "X-Data-UA"
|
||||
|
||||
// PageReq 分页请求参数
|
||||
type PageReq struct {
|
||||
RawPage int `json:"page"`
|
||||
RawSize int `json:"size"`
|
||||
}
|
||||
|
||||
func (p *PageReq) GetPage() int {
|
||||
if p.RawPage < 1 {
|
||||
return 1
|
||||
}
|
||||
return p.RawPage
|
||||
}
|
||||
|
||||
func (p *PageReq) GetSize() int {
|
||||
if p.RawSize < 1 {
|
||||
return 10
|
||||
}
|
||||
if p.RawSize > 100 {
|
||||
return 100
|
||||
}
|
||||
return p.RawSize
|
||||
}
|
||||
|
||||
func (p *PageReq) GetOffset() int {
|
||||
return (p.GetPage() - 1) * p.GetSize()
|
||||
}
|
||||
|
||||
func (p *PageReq) GetLimit() int {
|
||||
return p.GetSize()
|
||||
}
|
||||
|
||||
// PageResp 分页响应参数
|
||||
type PageResp struct {
|
||||
Total int `json:"total"`
|
||||
Page int `json:"page"`
|
||||
Size int `json:"size"`
|
||||
List any `json:"list"`
|
||||
}
|
||||
29
web/core/model.go
Normal file
29
web/core/model.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package core
|
||||
|
||||
import (
|
||||
"platform/pkg/u"
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type IModel interface {
|
||||
GetID() int32
|
||||
}
|
||||
|
||||
type Model struct {
|
||||
ID int32 `json:"id" gorm:"column:id;primaryKey"`
|
||||
CreatedAt time.Time `json:"created_at" gorm:"column:created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at" gorm:"column:updated_at"`
|
||||
DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"column:deleted_at"`
|
||||
}
|
||||
|
||||
func (m *Model) GetID() int32 {
|
||||
return m.ID
|
||||
}
|
||||
|
||||
func GetIDs[T IModel](models []T) []int32 {
|
||||
return u.Map(models, func(m T) int32 {
|
||||
return m.GetID()
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user