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:被转发、点赞、评论帖子名称 }