Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+106
View File
@@ -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
}