用户模块--logo列表
This commit is contained in:
@@ -6,13 +6,14 @@ import (
|
||||
|
||||
// fs_user_material 用户素材表
|
||||
type FsUserMaterial struct {
|
||||
Id int64 `gorm:"primary_key;default:0;" json:"id"` // 用户 ID
|
||||
Module *string `gorm:"default:'';" json:"module"` // 所属模块
|
||||
UserId *int64 `gorm:"index;default:0;" json:"user_id"` // 用户 ID
|
||||
ResourceId *string `gorm:"default:'';" json:"resource_id"` // 资源ID
|
||||
ResourceUrl *string `gorm:"default:'';" json:"resource_url"` // 资源 URL
|
||||
Metadata *string `gorm:"default:'';" json:"metadata"` // 元数据,json格式,存储图像分率
|
||||
CreateAt *int64 `gorm:"default:0;" json:"create_at"` // 上传时间
|
||||
Id int64 `gorm:"primary_key;default:0;auto_increment;" json:"id"` // 用户 ID
|
||||
Module *string `gorm:"default:'';" json:"module"` // 所属模块
|
||||
UserId *int64 `gorm:"index;default:0;" json:"user_id"` // 用户 ID
|
||||
GuestId *int64 `gorm:"index;default:0;" json:"guest_id"` // 游客 ID
|
||||
ResourceId *string `gorm:"default:'';" json:"resource_id"` // 资源ID
|
||||
ResourceUrl *string `gorm:"default:'';" json:"resource_url"` // 资源 URL
|
||||
Metadata *string `gorm:"default:'';" json:"metadata"` // 元数据,json格式,存储图像分率
|
||||
CreateAt *int64 `gorm:"default:0;" json:"create_at"` // 上传时间
|
||||
}
|
||||
type FsUserMaterialModel struct {
|
||||
db *gorm.DB
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
package gmodel
|
||||
|
||||
import "context"
|
||||
import (
|
||||
"context"
|
||||
"fusenapi/utils/handler"
|
||||
"reflect"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// TODO: 使用model的属性做你想做的
|
||||
|
||||
@@ -13,3 +19,39 @@ func (p *FsUserMaterialModel) CreateOrUpdate(ctx context.Context, req *FsUserMat
|
||||
}
|
||||
return req, err
|
||||
}
|
||||
|
||||
func (m *FsUserMaterialModel) FindAll(ctx context.Context, rowBuilder *gorm.DB, filterMap map[string]string, orderBy string) ([]*FsUserMaterial, error) {
|
||||
var resp []*FsUserMaterial
|
||||
// 过滤
|
||||
if filterMap != nil {
|
||||
rowBuilder = rowBuilder.Scopes(handler.FilterData(filterMap))
|
||||
}
|
||||
|
||||
// 排序
|
||||
if orderBy != "" {
|
||||
var fieldsMap = make(map[string]struct{})
|
||||
s := reflect.TypeOf(&FsUserMaterial{}).Elem() //通过反射获取type定义
|
||||
for i := 0; i < s.NumField(); i++ {
|
||||
fieldsMap[s.Field(i).Tag.Get("json")] = struct{}{}
|
||||
}
|
||||
rowBuilder = rowBuilder.Scopes(handler.OrderCheck(orderBy, fieldsMap))
|
||||
}
|
||||
|
||||
result := rowBuilder.WithContext(ctx).Find(&resp)
|
||||
if result.Error != nil {
|
||||
return nil, result.Error
|
||||
} else {
|
||||
return resp, nil
|
||||
}
|
||||
}
|
||||
|
||||
func (m *FsUserMaterialModel) RowSelectBuilder(selectData []string) *gorm.DB {
|
||||
var rowBuilder = m.db.Table(m.name)
|
||||
|
||||
if selectData != nil {
|
||||
rowBuilder = rowBuilder.Select(selectData)
|
||||
} else {
|
||||
rowBuilder = rowBuilder.Select("*")
|
||||
}
|
||||
return rowBuilder
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user