Files
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

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