Executable
+106
@@ -0,0 +1,106 @@
|
||||
package imgroupser
|
||||
|
||||
import (
|
||||
"math/rand"
|
||||
"time"
|
||||
|
||||
"91porn-server/models/cache/imgroupdata"
|
||||
"91porn-server/models/commod"
|
||||
"91porn-server/models/v/imgroupmod"
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
type WebListReq struct {
|
||||
commod.Page
|
||||
}
|
||||
type WebListRes struct {
|
||||
Total int64 `json:"total"`
|
||||
HasNext bool `json:"hasNext"`
|
||||
List []imgroupmod.ImGroup `json:"list"`
|
||||
}
|
||||
|
||||
// GetList 获取列表
|
||||
func (q *WebListReq) GetList() (res WebListRes, err error) {
|
||||
filter := bson.M{}
|
||||
res.List, res.Total, res.HasNext, err = imgroupmod.GetList(filter, int64(q.Skip()), int64(q.Limit()), q.GetSort())
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
type WebCreateReq struct {
|
||||
Name string `json:"name" form:"name" binding:"required"` // 群组名
|
||||
Cover string `json:"cover" form:"cover" binding:"required"` // 封面
|
||||
Summary string `json:"summary" form:"summary" binding:"required"` // 简介
|
||||
FakeMemberNum int64 `json:"fakeMemberNum" form:"fakeMemberNum"` // 成员数量(假的)
|
||||
Price int64 `json:"price" form:"price"` // 加入群聊价格 0-免费
|
||||
Status int `json:"status" form:"status"` // 0-不可用 1-可用
|
||||
|
||||
}
|
||||
|
||||
// Create 发布数据
|
||||
func (p *WebCreateReq) Create() error {
|
||||
data := imgroupmod.ImGroup{
|
||||
GroupId: 10000000 + rand.Int63n(89999999), // 随机一个
|
||||
Name: p.Name,
|
||||
Cover: p.Cover,
|
||||
Summary: p.Summary,
|
||||
FakeMemberNum: p.FakeMemberNum,
|
||||
Price: p.Price,
|
||||
Status: p.Status,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
}
|
||||
|
||||
// 创建数据
|
||||
if _, err := imgroupdata.InsertData(nil, data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
type WebUpdateReq struct {
|
||||
ID primitive.ObjectID `json:"id" binding:"required"`
|
||||
Name *string `json:"name"` // 群组名
|
||||
Cover *string `json:"cover"` // 封面
|
||||
Summary *string `json:"summary"` // 简介
|
||||
FakeMemberNum *int64 `json:"fakeMemberNum"` // 成员数量(假的)
|
||||
Price *int64 `json:"price"` // 加入群聊价格 0-免费
|
||||
Status *int `json:"status" form:"status"` // 0-不可用 1-可用
|
||||
}
|
||||
|
||||
// Update 更新数据
|
||||
func (p *WebUpdateReq) Update() error {
|
||||
_, err := imgroupmod.GetInfo(p.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
data := make(map[string]interface{})
|
||||
if p.Name != nil {
|
||||
data["name"] = *p.Name
|
||||
}
|
||||
if p.Cover != nil {
|
||||
data["cover"] = *p.Cover
|
||||
}
|
||||
if p.Summary != nil {
|
||||
data["summary"] = *p.Summary
|
||||
}
|
||||
if p.FakeMemberNum != nil {
|
||||
data["fakeMemberNum"] = *p.FakeMemberNum
|
||||
}
|
||||
if p.Price != nil {
|
||||
data["price"] = *p.Price
|
||||
}
|
||||
if p.Status != nil {
|
||||
data["status"] = *p.Status
|
||||
}
|
||||
data["updatedAt"] = time.Now()
|
||||
|
||||
if _, err = imgroupdata.UpdateData(nil, p.ID.Hex(), data); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user