62 lines
1.6 KiB
Go
Executable File
62 lines
1.6 KiB
Go
Executable File
package imgroupmemberser
|
|
|
|
import (
|
|
"91porn-server/common/log"
|
|
"91porn-server/models/cache/imgroupmemberdata"
|
|
"91porn-server/models/commod"
|
|
"91porn-server/models/v/imgroupmembermod"
|
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
)
|
|
|
|
type AppQueryListReq struct {
|
|
commod.Page
|
|
}
|
|
|
|
type AppListRes struct {
|
|
Total int64 `json:"total"`
|
|
HasNext bool `json:"hasNext"`
|
|
List []*imgroupmembermod.ImGroupMemberInfo `json:"list"`
|
|
}
|
|
|
|
// GetList 获取列表
|
|
func (p *AppQueryListReq) GetList() AppListRes {
|
|
var res AppListRes
|
|
var err error
|
|
filter := bson.M{}
|
|
|
|
sort := bson.D{{"_id", -1}}
|
|
// 获取列表
|
|
var data []imgroupmembermod.ImGroupMember
|
|
data, res.Total, res.HasNext, err = imgroupmemberdata.GetListFromCache(filter, int64(p.Skip()), int64(p.Limit()), sort)
|
|
if err != nil {
|
|
log.Error("获取im群组成员列表数据错误", log.Any("Params", *p), log.E(err))
|
|
return res
|
|
}
|
|
res.List = imgroupmemberdata.FormatAppDataList(data)
|
|
|
|
return res
|
|
}
|
|
|
|
type HasJoinReq struct {
|
|
GroupId int64 `json:"groupId" form:"groupId" binding:"required"`
|
|
}
|
|
type HasJoinRes struct {
|
|
Status int `json:"status"` // 0-已被禁言 1-可发言 2-未加入
|
|
}
|
|
|
|
// GetInfo 获取详情
|
|
func (p *HasJoinReq) GetInfo(uid uint64) (res HasJoinRes, err error) {
|
|
item, err := imgroupmembermod.GetInfoByCond(bson.M{"groupId": p.GroupId, "uid": uid})
|
|
if err != nil {
|
|
log.Error("获取im群组成员详情数据错误", log.Any("groupId", p.GroupId), log.Any("uid", uid), log.E(err))
|
|
return
|
|
}
|
|
if item.ID.IsZero() || item.Status == 2 {
|
|
res.Status = 2 //.未加入
|
|
} else {
|
|
res.Status = item.Status
|
|
}
|
|
return
|
|
}
|