64 lines
1.9 KiB
Go
64 lines
1.9 KiB
Go
package messagemod
|
|
|
|
import (
|
|
"91porn-server/models/commod"
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
"go.mongodb.org/mongo-driver/mongo/options"
|
|
)
|
|
|
|
type WebListRequest struct {
|
|
SendUid *uint64 `json:"sendUid" bson:"sendUid"` // 发送者uid
|
|
TakeUid *uint64 `json:"takeUid" bson:"takeUid"` // 接收者uid
|
|
IsRead *bool `json:"isRead" bson:"isRead"` // 消息已读or未读
|
|
commod.Page
|
|
}
|
|
|
|
func (receiver *WebListRequest) Filter() primitive.M {
|
|
filter := bson.M{}
|
|
if receiver.SendUid != nil {
|
|
filter["sendUid"] = receiver.SendUid
|
|
}
|
|
if receiver.TakeUid != nil {
|
|
filter["takeUid"] = receiver.TakeUid
|
|
}
|
|
if receiver.IsRead != nil {
|
|
filter["isRead"] = receiver.IsRead
|
|
}
|
|
return filter
|
|
}
|
|
|
|
func (receiver *WebListRequest) Options() *options.FindOptions {
|
|
return options.Find().SetSkip(int64(receiver.Skip())).SetLimit(int64(receiver.Limit() + 1)).SetSort(bson.M{"updatedAt": -1})
|
|
}
|
|
|
|
// WebDelReq 用户私聊删除
|
|
type WebDelReq struct {
|
|
ID *string `form:"id" json:"id"`
|
|
}
|
|
|
|
func (receiver *WebDelReq) Filter() primitive.M {
|
|
filter := bson.M{}
|
|
if receiver.ID != nil {
|
|
id, _ := primitive.ObjectIDFromHex(*receiver.ID)
|
|
filter["_id"] = id
|
|
}
|
|
return filter
|
|
}
|
|
|
|
// WebSendReq 发送私信
|
|
type WebSendReq struct {
|
|
Sender uint64 `form:"sender" json:"sender" binding:"required"`
|
|
Receiver uint64 `form:"receiver" json:"receiver" binding:"required"`
|
|
Content string `form:"content" json:"content" binding:"required"`
|
|
}
|
|
|
|
type SendMsg struct {
|
|
Sender uint64 `form:"sender" json:"sender" binding:"required"`
|
|
Receiver uint64 `form:"receiver" json:"receiver" binding:"required"`
|
|
Content string `form:"content" json:"content" binding:"required"`
|
|
MsgType MsgType
|
|
ObjId primitive.ObjectID `json:"objId" bson:"objId"` // 动态消息使用,eg:被转发、点赞、评论帖子id
|
|
ObjName string `json:"objName" bson:"objName"` // 动态消息使用,eg:被转发、点赞、评论帖子名称
|
|
}
|