+155
@@ -0,0 +1,155 @@
|
||||
package ai_template_module_ser
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"91porn-server/models/commod"
|
||||
"91porn-server/models/v/aitemplatemodulemod"
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
type WebListReq struct {
|
||||
Type *int `json:"type" form:"type"` // 模块类型
|
||||
Status *int `json:"status" form:"status"` // 状态
|
||||
commod.Page
|
||||
}
|
||||
|
||||
func (q *WebListReq) Filter() primitive.M {
|
||||
filter := bson.M{}
|
||||
if q.Status != nil {
|
||||
filter["status"] = q.Status
|
||||
}
|
||||
if q.Type != nil {
|
||||
filter["type"] = q.Type
|
||||
}
|
||||
return filter
|
||||
}
|
||||
|
||||
type WebListRes struct {
|
||||
Total int64 `json:"total"`
|
||||
List []aitemplatemodulemod.AiTemplateModule `json:"list"`
|
||||
}
|
||||
|
||||
// GetList 获取列表
|
||||
func (q *WebListReq) GetList() (res WebListRes, err error) {
|
||||
sort := bson.D{{"sortNum", -1}}
|
||||
res.List, res.Total, _, err = aitemplatemodulemod.GetList(q.Filter(), int64(q.Skip()), int64(q.Limit()), sort)
|
||||
return
|
||||
}
|
||||
|
||||
type WebAllListReq struct {
|
||||
}
|
||||
|
||||
func (q *WebAllListReq) Filter() primitive.M {
|
||||
filter := bson.M{}
|
||||
|
||||
filter["status"] = 1
|
||||
filter["isDelete"] = false
|
||||
return filter
|
||||
}
|
||||
|
||||
type WebAllListRes struct {
|
||||
ID primitive.ObjectID `json:"id" bson:"_id,omitempty"` // 文档id
|
||||
Type int `json:"type" bson:"type"` // 模块类型 1:AI视频换脸,2:AI图片换脸
|
||||
Name string `json:"name" bson:"name"` // 模块名称
|
||||
}
|
||||
|
||||
// GetList 获取列表
|
||||
func (q *WebAllListReq) GetList() (res []WebAllListRes, err error) {
|
||||
var ret []WebAllListRes
|
||||
sort := bson.D{{"sortNum", -1}}
|
||||
data, err := aitemplatemodulemod.GetAll(q.Filter(), sort)
|
||||
if err != nil {
|
||||
return ret, err
|
||||
}
|
||||
|
||||
if data != nil && len(data) > 0 {
|
||||
for _, d := range data {
|
||||
ret = append(ret, WebAllListRes{
|
||||
ID: d.ID,
|
||||
Name: d.Name,
|
||||
Type: d.Type,
|
||||
})
|
||||
}
|
||||
}
|
||||
return ret, nil
|
||||
}
|
||||
|
||||
type WebCreateReq struct {
|
||||
Type int `json:"type" form:"type" binding:"required"` // 模块类型
|
||||
Name string `json:"name" form:"name" binding:"required"` // 模块名称
|
||||
Status int `json:"status" form:"status" binding:"required"` // 状态
|
||||
SortNum int `json:"sortNum" form:"sortNum" binding:"required"` // 模块排序
|
||||
}
|
||||
|
||||
// Create 发布数据
|
||||
func (p *WebCreateReq) Create() error {
|
||||
data := aitemplatemodulemod.AiTemplateModule{
|
||||
Type: p.Type,
|
||||
Name: p.Name,
|
||||
Status: p.Status,
|
||||
SortNum: p.SortNum,
|
||||
IsDelete: false,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
|
||||
// 创建数据
|
||||
if _, err := aitemplatemodulemod.Insert(nil, data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
type WebUpdateReq struct {
|
||||
ID primitive.ObjectID `json:"id" binding:"required"`
|
||||
Type *int `json:"type"` // 模块类型
|
||||
Name *string `json:"name"` // 模块名称
|
||||
Status *int `json:"status"` // 状态
|
||||
SortNum *int `json:"sortNum"` // 模块排序
|
||||
}
|
||||
|
||||
// Update 更新数据
|
||||
func (p *WebUpdateReq) Update() error {
|
||||
_, err := aitemplatemodulemod.GetInfo(p.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
data := make(map[string]interface{})
|
||||
if p.Type != nil {
|
||||
data["type"] = *p.Type
|
||||
}
|
||||
if p.Name != nil {
|
||||
data["name"] = *p.Name
|
||||
}
|
||||
if p.Status != nil {
|
||||
data["status"] = *p.Status
|
||||
}
|
||||
if p.SortNum != nil {
|
||||
data["sortNum"] = *p.SortNum
|
||||
}
|
||||
|
||||
data["updatedAt"] = time.Now()
|
||||
|
||||
if _, err = aitemplatemodulemod.UpdateByID(nil, p.ID, data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
type WebDeleteReq struct {
|
||||
ID primitive.ObjectID `json:"id" binding:"required"`
|
||||
}
|
||||
|
||||
// Delete 删除数据
|
||||
func (p *WebDeleteReq) Delete() error {
|
||||
if err := aitemplatemodulemod.DeleteByID(nil, p.ID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user