Documentation ¶
Index ¶
- Constants
- func IsNotFound(err error) bool
- type BatchUpdateGroupMember
- type BlackModel
- type BlackModelInterface
- type ChatLogModel
- type ChatLogModelInterface
- type ConversationModel
- type ConversationModelInterface
- type FriendModel
- type FriendModelInterface
- type FriendRequestModel
- type FriendRequestModelInterface
- type GroupMemberModel
- type GroupMemberModelInterface
- type GroupModel
- type GroupModelInterface
- type GroupRequestModel
- type GroupRequestModelInterface
- type GroupSimpleUserID
- type Log
- type LogInterface
- type ObjectInfoModelInterface
- type ObjectModel
- type UserModel
- type UserModelInterface
Constants ¶
View Source
const (
BlackModelTableName = "blacks"
)
View Source
const (
ChatLogModelTableName = "chat_logs"
)
View Source
const (
FriendModelTableName = "friends"
)
View Source
const FriendRequestModelTableName = "friend_requests"
View Source
const (
GroupMemberModelTableName = "group_members"
)
View Source
const (
GroupModelTableName = "groups"
)
View Source
const (
GroupRequestModelTableName = "group_requests"
)
View Source
const (
ObjectInfoModelTableName = "object"
)
View Source
const (
UserModelTableName = "users"
)
Variables ¶
This section is empty.
Functions ¶
func IsNotFound ¶
Types ¶
type BatchUpdateGroupMember ¶
type BlackModel ¶
type BlackModel struct { OwnerUserID string `gorm:"column:owner_user_id;primary_key;size:64"` BlockUserID string `gorm:"column:block_user_id;primary_key;size:64"` CreateTime time.Time `gorm:"column:create_time"` AddSource int32 `gorm:"column:add_source"` OperatorUserID string `gorm:"column:operator_user_id;size:64"` Ex string `gorm:"column:ex;size:1024"` }
func (BlackModel) TableName ¶
func (BlackModel) TableName() string
type BlackModelInterface ¶
type BlackModelInterface interface { Create(ctx context.Context, blacks []*BlackModel) (err error) Delete(ctx context.Context, blacks []*BlackModel) (err error) UpdateByMap(ctx context.Context, ownerUserID, blockUserID string, args map[string]interface{}) (err error) Update(ctx context.Context, blacks []*BlackModel) (err error) Find(ctx context.Context, blacks []*BlackModel) (blackList []*BlackModel, err error) Take(ctx context.Context, ownerUserID, blockUserID string) (black *BlackModel, err error) FindOwnerBlacks(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (blacks []*BlackModel, total int64, err error) FindOwnerBlackInfos(ctx context.Context, ownerUserID string, userIDs []string) (blacks []*BlackModel, err error) FindBlackUserIDs(ctx context.Context, ownerUserID string) (blackUserIDs []string, err error) }
type ChatLogModel ¶
type ChatLogModel struct { ServerMsgID string `` /* 167-byte string literal not displayed */ ClientMsgID string `` /* 167-byte string literal not displayed */ SendID string `` /* 162-byte string literal not displayed */ RecvID string `` /* 162-byte string literal not displayed */ SenderPlatformID int32 `` /* 172-byte string literal not displayed */ SenderNickname string `` /* 170-byte string literal not displayed */ SenderFaceURL string `` /* 169-byte string literal not displayed */ SessionType int32 `` /* 167-byte string literal not displayed */ MsgFrom int32 `` /* 163-byte string literal not displayed */ ContentType int32 `` /* 167-byte string literal not displayed */ Content string `` /* 163-byte string literal not displayed */ Status int32 `` /* 162-byte string literal not displayed */ SendTime time.Time `` /* 164-byte string literal not displayed */ CreateTime time.Time `` /* 166-byte string literal not displayed */ Ex string `` /* 158-byte string literal not displayed */ }
func (ChatLogModel) TableName ¶
func (ChatLogModel) TableName() string
type ChatLogModelInterface ¶
type ChatLogModelInterface interface {
Create(msg *pbmsg.MsgDataToMQ) error
}
type ConversationModel ¶
type ConversationModel struct { OwnerUserID string `gorm:"column:owner_user_id;primary_key;type:char(128)" json:"OwnerUserID"` ConversationID string `gorm:"column:conversation_id;primary_key;type:char(128)" json:"conversationID"` ConversationType int32 `gorm:"column:conversation_type" json:"conversationType"` UserID string `gorm:"column:user_id;type:char(64)" json:"userID"` GroupID string `gorm:"column:group_id;type:char(128)" json:"groupID"` RecvMsgOpt int32 `gorm:"column:recv_msg_opt" json:"recvMsgOpt"` IsPinned bool `gorm:"column:is_pinned" json:"isPinned"` IsPrivateChat bool `gorm:"column:is_private_chat" json:"isPrivateChat"` BurnDuration int32 `gorm:"column:burn_duration;default:30" json:"burnDuration"` GroupAtType int32 `gorm:"column:group_at_type" json:"groupAtType"` AttachedInfo string `gorm:"column:attached_info;type:varchar(1024)" json:"attachedInfo"` Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` MaxSeq int64 `gorm:"column:max_seq" json:"maxSeq"` MinSeq int64 `gorm:"column:min_seq" json:"minSeq"` CreateTime time.Time `gorm:"column:create_time;index:create_time;autoCreateTime"` IsMsgDestruct bool `gorm:"column:is_msg_destruct;default:false"` MsgDestructTime int64 `gorm:"column:msg_destruct_time;default:604800"` LatestMsgDestructTime time.Time `gorm:"column:latest_msg_destruct_time;autoCreateTime"` }
func (ConversationModel) TableName ¶
func (ConversationModel) TableName() string
type ConversationModelInterface ¶
type ConversationModelInterface interface { Create(ctx context.Context, conversations []*ConversationModel) (err error) Delete(ctx context.Context, groupIDs []string) (err error) UpdateByMap(ctx context.Context, userIDs []string, conversationID string, args map[string]interface{}) (rows int64, err error) Update(ctx context.Context, conversation *ConversationModel) (err error) Find(ctx context.Context, ownerUserID string, conversationIDs []string) (conversations []*ConversationModel, err error) FindUserID(ctx context.Context, userIDs []string, conversationIDs []string) ([]string, error) FindUserIDAllConversationID(ctx context.Context, userID string) ([]string, error) Take(ctx context.Context, userID, conversationID string) (conversation *ConversationModel, err error) FindConversationID(ctx context.Context, userID string, conversationIDs []string) (existConversationID []string, err error) FindUserIDAllConversations(ctx context.Context, userID string) (conversations []*ConversationModel, err error) FindRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) ([]string, error) GetUserRecvMsgOpt(ctx context.Context, ownerUserID, conversationID string) (opt int, err error) FindSuperGroupRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) ([]string, error) GetAllConversationIDs(ctx context.Context) ([]string, error) GetUserAllHasReadSeqs(ctx context.Context, ownerUserID string) (hashReadSeqs map[string]int64, err error) GetConversationsByConversationID(ctx context.Context, conversationIDs []string) ([]*ConversationModel, error) GetConversationIDsNeedDestruct(ctx context.Context) ([]*ConversationModel, error) GetConversationNotReceiveMessageUserIDs(ctx context.Context, conversationID string) ([]string, error) NewTx(tx any) ConversationModelInterface }
type FriendModel ¶
type FriendModel struct { OwnerUserID string `gorm:"column:owner_user_id;primary_key;size:64"` FriendUserID string `gorm:"column:friend_user_id;primary_key;size:64"` Remark string `gorm:"column:remark;size:255"` CreateTime time.Time `gorm:"column:create_time;autoCreateTime"` AddSource int32 `gorm:"column:add_source"` OperatorUserID string `gorm:"column:operator_user_id;size:64"` Ex string `gorm:"column:ex;size:1024"` }
func (FriendModel) TableName ¶
func (FriendModel) TableName() string
type FriendModelInterface ¶
type FriendModelInterface interface { // 插入多条记录 Create(ctx context.Context, friends []*FriendModel) (err error) // 删除ownerUserID指定的好友 Delete(ctx context.Context, ownerUserID string, friendUserIDs []string) (err error) // 更新ownerUserID单个好友信息 更新零值 UpdateByMap(ctx context.Context, ownerUserID string, friendUserID string, args map[string]interface{}) (err error) // 更新好友信息的非零值 Update(ctx context.Context, friends []*FriendModel) (err error) // 更新好友备注(也支持零值 ) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) // 获取单个好友信息,如没找到 返回错误 Take(ctx context.Context, ownerUserID, friendUserID string) (friend *FriendModel, err error) // 查找好友关系,如果是双向关系,则都返回 FindUserState(ctx context.Context, userID1, userID2 string) (friends []*FriendModel, err error) // 获取 owner指定的好友列表 如果有friendUserIDs不存在,也不返回错误 FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*FriendModel, err error) // 获取哪些人添加了friendUserID 如果有ownerUserIDs不存在,也不返回错误 FindReversalFriends( ctx context.Context, friendUserID string, ownerUserIDs []string, ) (friends []*FriendModel, err error) // 获取ownerUserID好友列表 支持翻页 FindOwnerFriends( ctx context.Context, ownerUserID string, pageNumber, showNumber int32, ) (friends []*FriendModel, total int64, err error) // 获取哪些人添加了friendUserID 支持翻页 FindInWhoseFriends( ctx context.Context, friendUserID string, pageNumber, showNumber int32, ) (friends []*FriendModel, total int64, err error) // 获取好友UserID列表 FindFriendUserIDs(ctx context.Context, ownerUserID string) (friendUserIDs []string, err error) NewTx(tx any) FriendModelInterface }
type FriendRequestModel ¶
type FriendRequestModel struct { FromUserID string `gorm:"column:from_user_id;primary_key;size:64"` ToUserID string `gorm:"column:to_user_id;primary_key;size:64"` HandleResult int32 `gorm:"column:handle_result"` ReqMsg string `gorm:"column:req_msg;size:255"` CreateTime time.Time `gorm:"column:create_time; autoCreateTime"` HandlerUserID string `gorm:"column:handler_user_id;size:64"` HandleMsg string `gorm:"column:handle_msg;size:255"` HandleTime time.Time `gorm:"column:handle_time"` Ex string `gorm:"column:ex;size:1024"` }
func (FriendRequestModel) TableName ¶
func (FriendRequestModel) TableName() string
type FriendRequestModelInterface ¶
type FriendRequestModelInterface interface { // 插入多条记录 Create(ctx context.Context, friendRequests []*FriendRequestModel) (err error) // 删除记录 Delete(ctx context.Context, fromUserID, toUserID string) (err error) // 更新零值 UpdateByMap(ctx context.Context, formUserID string, toUserID string, args map[string]interface{}) (err error) // 更新多条记录 (非零值) Update(ctx context.Context, friendRequest *FriendRequestModel) (err error) // 获取来指定用户的好友申请 未找到 不返回错误 Find(ctx context.Context, fromUserID, toUserID string) (friendRequest *FriendRequestModel, err error) Take(ctx context.Context, fromUserID, toUserID string) (friendRequest *FriendRequestModel, err error) // 获取toUserID收到的好友申请列表 FindToUserID( ctx context.Context, toUserID string, pageNumber, showNumber int32, ) (friendRequests []*FriendRequestModel, total int64, err error) // 获取fromUserID发出去的好友申请列表 FindFromUserID( ctx context.Context, fromUserID string, pageNumber, showNumber int32, ) (friendRequests []*FriendRequestModel, total int64, err error) FindBothFriendRequests(ctx context.Context, fromUserID, toUserID string) (friends []*FriendRequestModel, err error) NewTx(tx any) FriendRequestModelInterface }
type GroupMemberModel ¶
type GroupMemberModel struct { GroupID string `gorm:"column:group_id;primary_key;size:64"` UserID string `gorm:"column:user_id;primary_key;size:64"` Nickname string `gorm:"column:nickname;size:255"` FaceURL string `gorm:"column:user_group_face_url;size:255"` RoleLevel int32 `gorm:"column:role_level"` JoinTime time.Time `gorm:"column:join_time"` JoinSource int32 `gorm:"column:join_source"` InviterUserID string `gorm:"column:inviter_user_id;size:64"` OperatorUserID string `gorm:"column:operator_user_id;size:64"` MuteEndTime time.Time `gorm:"column:mute_end_time"` Ex string `gorm:"column:ex;size:1024"` }
func (GroupMemberModel) TableName ¶
func (GroupMemberModel) TableName() string
type GroupMemberModelInterface ¶
type GroupMemberModelInterface interface { NewTx(tx any) GroupMemberModelInterface Create(ctx context.Context, groupMembers []*GroupMemberModel) (err error) Delete(ctx context.Context, groupID string, userIDs []string) (err error) DeleteGroup(ctx context.Context, groupIDs []string) (err error) Update(ctx context.Context, groupID string, userID string, data map[string]any) (err error) UpdateRoleLevel(ctx context.Context, groupID string, userID string, roleLevel int32) (rowsAffected int64, err error) Find( ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, ) (groupMembers []*GroupMemberModel, err error) FindMemberUserID(ctx context.Context, groupID string) (userIDs []string, err error) Take(ctx context.Context, groupID string, userID string) (groupMember *GroupMemberModel, err error) TakeOwner(ctx context.Context, groupID string) (groupMember *GroupMemberModel, err error) SearchMember( ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32, ) (total uint32, groupList []*GroupMemberModel, err error) MapGroupMemberNum(ctx context.Context, groupIDs []string) (count map[string]uint32, err error) FindJoinUserID(ctx context.Context, groupIDs []string) (groupUsers map[string][]string, err error) FindUserJoinedGroupID(ctx context.Context, userID string) (groupIDs []string, err error) TakeGroupMemberNum(ctx context.Context, groupID string) (count int64, err error) FindUsersJoinedGroupID(ctx context.Context, userIDs []string) (map[string][]string, error) FindUserManagedGroupID(ctx context.Context, userID string) (groupIDs []string, err error) }
type GroupModel ¶
type GroupModel struct { GroupID string `gorm:"column:group_id;primary_key;size:64" json:"groupID" binding:"required"` GroupName string `gorm:"column:name;size:255" json:"groupName"` Notification string `gorm:"column:notification;size:255" json:"notification"` Introduction string `gorm:"column:introduction;size:255" json:"introduction"` FaceURL string `gorm:"column:face_url;size:255" json:"faceURL"` CreateTime time.Time `gorm:"column:create_time;index:create_time;autoCreateTime"` Ex string `gorm:"column:ex" json:"ex;size:1024"` Status int32 `gorm:"column:status"` CreatorUserID string `gorm:"column:creator_user_id;size:64"` GroupType int32 `gorm:"column:group_type"` NeedVerification int32 `gorm:"column:need_verification"` LookMemberInfo int32 `gorm:"column:look_member_info" json:"lookMemberInfo"` ApplyMemberFriend int32 `gorm:"column:apply_member_friend" json:"applyMemberFriend"` NotificationUpdateTime time.Time `gorm:"column:notification_update_time"` NotificationUserID string `gorm:"column:notification_user_id;size:64"` }
func (GroupModel) TableName ¶
func (GroupModel) TableName() string
type GroupModelInterface ¶
type GroupModelInterface interface { NewTx(tx any) GroupModelInterface Create(ctx context.Context, groups []*GroupModel) (err error) UpdateMap(ctx context.Context, groupID string, args map[string]interface{}) (err error) UpdateStatus(ctx context.Context, groupID string, status int32) (err error) Find(ctx context.Context, groupIDs []string) (groups []*GroupModel, err error) FindNotDismissedGroup(ctx context.Context, groupIDs []string) (groups []*GroupModel, err error) Take(ctx context.Context, groupID string) (group *GroupModel, err error) Search( ctx context.Context, keyword string, pageNumber, showNumber int32, ) (total uint32, groups []*GroupModel, err error) GetGroupIDsByGroupType(ctx context.Context, groupType int) (groupIDs []string, err error) // 获取群总数 CountTotal(ctx context.Context, before *time.Time) (count int64, err error) // 获取范围内群增量 CountRangeEverydayTotal(ctx context.Context, start time.Time, end time.Time) (map[string]int64, error) }
type GroupRequestModel ¶
type GroupRequestModel struct { UserID string `gorm:"column:user_id;primary_key;size:64"` GroupID string `gorm:"column:group_id;primary_key;size:64"` HandleResult int32 `gorm:"column:handle_result"` ReqMsg string `gorm:"column:req_msg;size:1024"` HandledMsg string `gorm:"column:handle_msg;size:1024"` ReqTime time.Time `gorm:"column:req_time"` HandleUserID string `gorm:"column:handle_user_id;size:64"` HandledTime time.Time `gorm:"column:handle_time"` JoinSource int32 `gorm:"column:join_source"` InviterUserID string `gorm:"column:inviter_user_id;size:64"` Ex string `gorm:"column:ex;size:1024"` }
func (GroupRequestModel) TableName ¶
func (GroupRequestModel) TableName() string
type GroupRequestModelInterface ¶
type GroupRequestModelInterface interface { NewTx(tx any) GroupRequestModelInterface Create(ctx context.Context, groupRequests []*GroupRequestModel) (err error) Delete(ctx context.Context, groupID string, userID string) (err error) UpdateHandler(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32) (err error) Take(ctx context.Context, groupID string, userID string) (groupRequest *GroupRequestModel, err error) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (int64, []*GroupRequestModel, error) Page( ctx context.Context, userID string, pageNumber, showNumber int32, ) (total uint32, groups []*GroupRequestModel, err error) PageGroup( ctx context.Context, groupIDs []string, pageNumber, showNumber int32, ) (total uint32, groups []*GroupRequestModel, err error) }
type GroupSimpleUserID ¶
type Log ¶ added in v3.3.2
type Log struct { LogID string `gorm:"column:log_id;primary_key;type:char(64)"` Platform string `gorm:"column:platform;type:varchar(32)"` UserID string `gorm:"column:user_id;type:char(64)"` CreateTime time.Time `gorm:"index:,sort:desc"` Url string `gorm:"column:url;type varchar(255)"` FileName string `gorm:"column:filename;type varchar(255)"` SystemType string `gorm:"column:system_type;type varchar(255)"` Version string `gorm:"column:version;type varchar(255)"` Ex string `gorm:"column:ex;type varchar(255)"` }
type LogInterface ¶ added in v3.3.2
type LogInterface interface { Create(ctx context.Context, log []*Log) error Search(ctx context.Context, keyword string, start time.Time, end time.Time, pageNumber int32, showNumber int32) (uint32, []*Log, error) Delete(ctx context.Context, logID []string, userID string) error Get(ctx context.Context, logIDs []string, userID string) ([]*Log, error) }
type ObjectInfoModelInterface ¶
type ObjectInfoModelInterface interface { NewTx(tx any) ObjectInfoModelInterface SetObject(ctx context.Context, obj *ObjectModel) error Take(ctx context.Context, name string) (*ObjectModel, error) }
type ObjectModel ¶
type ObjectModel struct { Name string `gorm:"column:name;primary_key"` UserID string `gorm:"column:user_id"` Hash string `gorm:"column:hash"` Key string `gorm:"column:key"` Size int64 `gorm:"column:size"` ContentType string `gorm:"column:content_type"` Cause string `gorm:"column:cause"` CreateTime time.Time `gorm:"column:create_time"` }
func (ObjectModel) TableName ¶
func (ObjectModel) TableName() string
type UserModel ¶
type UserModel struct { UserID string `gorm:"column:user_id;primary_key;size:64"` Nickname string `gorm:"column:name;size:255"` FaceURL string `gorm:"column:face_url;size:255"` Ex string `gorm:"column:ex;size:1024"` CreateTime time.Time `gorm:"column:create_time;index:create_time;autoCreateTime"` AppMangerLevel int32 `gorm:"column:app_manger_level;default:1"` GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"` }
func (*UserModel) GetFaceURL ¶
func (*UserModel) GetNickname ¶
type UserModelInterface ¶
type UserModelInterface interface { Create(ctx context.Context, users []*UserModel) (err error) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) Update(ctx context.Context, user *UserModel) (err error) // 获取指定用户信息 不存在,也不返回错误 Find(ctx context.Context, userIDs []string) (users []*UserModel, err error) // 获取某个用户信息 不存在,则返回错误 Take(ctx context.Context, userID string) (user *UserModel, err error) // 获取用户信息 不存在,不返回错误 Page(ctx context.Context, pageNumber, showNumber int32) (users []*UserModel, count int64, err error) GetAllUserID(ctx context.Context, pageNumber, showNumber int32) (userIDs []string, err error) GetUserGlobalRecvMsgOpt(ctx context.Context, userID string) (opt int, err error) // 获取用户总数 CountTotal(ctx context.Context, before *time.Time) (count int64, err error) // 获取范围内用户增量 CountRangeEverydayTotal(ctx context.Context, start time.Time, end time.Time) (map[string]int64, error) }
Click to show internal directories.
Click to hide internal directories.