UserChat

package
v5.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 2, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateMessage

func CreateMessage(args *ArgsCreateMessage) (errCode string, err error)

CreateMessage 添加新的消息

func DeleteGroup

func DeleteGroup(args *ArgsDeleteGroup) (err error)

DeleteGroup 删除聊天室

func Init

func Init()

func InviteUser

func InviteUser(args *ArgsInviteUser) (err error)

InviteUser 邀请其他人加入聊天室

func OutChat

func OutChat(args *ArgsOutChat) (err error)

OutChat 退出聊天

func TakeMessageMoneyOrTicket

func TakeMessageMoneyOrTicket(args *ArgsTakeMessageMoneyOrTicket) (priceOrCount int64, errCode string, err error)

TakeMessageMoneyOrTicket 领取消息红包或优惠券

func UpdateChatName

func UpdateChatName(args *ArgsUpdateChatName) (err error)

UpdateChatName 修改成员姓名

func UpdateChatRead

func UpdateChatRead(args *ArgsUpdateChatRead) (err error)

UpdateChatRead 标记已读

Types

type ArgsCreateGroup

type ArgsCreateGroup struct {
	//绑定组织
	// 商户可以查看构建的相关聊天室
	OrgID int64 `db:"org_id" json:"orgID" check:"id"`
	//名称
	Name string `db:"name" json:"name" check:"name"`
	//聊天室创建人
	UserID int64 `db:"user_id" json:"userID" check:"id"`
	//只有创建人能邀请其他人?
	OnlyCreateInvite bool `db:"only_create_invite" json:"onlyCreateInvite"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

ArgsCreateGroup 创建新聊天室参数

type ArgsCreateMessage

type ArgsCreateMessage struct {
	//参与聊天室
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//发起用户
	UserID int64 `db:"user_id" json:"userID"`
	//消息类型
	// 0 普通消息; 1 红包领取; 2 优惠券; 3 定位坐标; 4 语音消息; 5 提示信息(发起了视频、语音通话)
	MessageType int `db:"message_type" json:"messageType"`
	//消息内容
	/**
	0 普通消息,存储消息内容
	4 语音消息,存储语音转化为base64文本数据包
	*/
	Message string `db:"message" json:"message" check:"des" min:"1" max:"600"`
	//扩展参数
	/**
	3 定位坐标中,此处将存储坐标系统的address_xy: xy位置、address: 地址详情
	4 语音消息,此处将存储语音转译后的文字信息message_text: 语音消息文本
	*/
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
	//红包数据集合
	MoneyData ArgsCreateMessageMoney `json:"moneyData"`
	//票据消息结构
	TicketData ArgsCreateMessageTicket `json:"ticketData"`
}

ArgsCreateMessage 添加新的消息参数

type ArgsCreateMessageMoney

type ArgsCreateMessageMoney struct {
	//储蓄配置
	ConfigMark string `db:"config_mark" json:"configMark" check:"mark" empty:"true"`
	//金额
	Price int64 `db:"price" json:"price"`
	//发放办法
	// 0 全部发放给领取的第一个人; 1 随机发放(0.01 - 总金额-尚未领取人数x0.01)
	TakeType int `db:"take_type" json:"takeType"`
	//领取人数限制
	CountLimit int `db:"count_limit" json:"countLimit"`
}

type ArgsCreateMessageTicket

type ArgsCreateMessageTicket struct {
	//票据配置ID
	ConfigID int64 `db:"config_id" json:"configID"`
	//发放张数
	UseCount int64 `db:"use_count" json:"useCount"`
	//发放办法
	// 0 全部发放给领取的第一个人; 1 随机发放(1张 - 总张数-尚未领取人数x1张)
	TakeType int `db:"take_type" json:"takeType"`
	//领取人数限制
	CountLimit int `db:"count_limit" json:"countLimit"`
}

type ArgsDeleteGroup

type ArgsDeleteGroup struct {
	//ID
	ID int64 `db:"id" json:"id" check:"id"`
	//组织ID
	// -1 跳过
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// -1 跳过
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
}

ArgsDeleteGroup 删除聊天室参数

type ArgsGetChatList

type ArgsGetChatList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//聊天室ID
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//获取该数据的用户ID
	// -1 跳过
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//是否包含已经离开的人
	HaveLeave bool `json:"haveLeave" check:"bool"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetChatList 获取成员列表参数

type ArgsGetGroupList

type ArgsGetGroupList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//组织ID
	// -1 跳过
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//用户ID
	// -1 跳过
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetGroupList 获取群组列表参数

type ArgsGetMessageList

type ArgsGetMessageList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//聊天室ID
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//获取该数据的用户ID
	// -1 跳过
	UserID int64 `db:"user_id" json:"userID" check:"id" empty:"true"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetMessageList 获取消息列表参数

type ArgsInviteUser

type ArgsInviteUser struct {
	//聊天室ID
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//邀请人
	UserID int64 `db:"user_id" json:"userID" check:"id"`
	//被邀请人
	InviteUserID int64 `db:"invite_user_id" json:"inviteUserID" check:"id"`
}

ArgsInviteUser 邀请其他人加入聊天室参数

type ArgsOutChat

type ArgsOutChat struct {
	//聊天室ID
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//房间的创建人
	UserID int64 `db:"user_id" json:"userID" check:"id"`
	//被剔除的人
	InviteUserID int64 `db:"invite_user_id" json:"inviteUserID" check:"id"`
}

ArgsOutChat 退出聊天参数

type ArgsTakeMessageMoneyOrTicket

type ArgsTakeMessageMoneyOrTicket struct {
	//用户ID
	UserID int64 `db:"user_id" json:"userID" check:"id"`
	//参与聊天室
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//消息ID
	MessageID int64 `db:"message_id" json:"messageID" check:"id"`
}

ArgsTakeMessageMoneyOrTicket 领取消息红包或优惠券参数

type ArgsUpdateChatName

type ArgsUpdateChatName struct {
	//聊天室ID
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//成员用户ID
	UserID int64 `db:"user_id" json:"userID" check:"id"`
	//新的姓名
	Name string `db:"name" json:"name" check:"name"`
}

ArgsUpdateChatName 修改成员姓名参数

type ArgsUpdateChatRead

type ArgsUpdateChatRead struct {
	//聊天室ID
	GroupID int64 `db:"group_id" json:"groupID" check:"id"`
	//成员用户ID
	UserID int64 `db:"user_id" json:"userID" check:"id"`
}

ArgsUpdateChatRead 标记已读参数

type DataGetMessageList

type DataGetMessageList struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//参与聊天室
	GroupID int64 `db:"group_id" json:"groupID"`
	//发起用户
	UserID int64 `db:"user_id" json:"userID"`
	//消息类型
	// 0 普通消息; 1 红包领取; 2 优惠券; 3 定位坐标; 4 语音消息; 5 提示信息(发起了视频、语音通话)
	MessageType int `db:"message_type" json:"messageType"`
	//消息内容
	/**
	0 普通消息,存储消息内容
	4 语音消息,存储语音转化为base64文本数据包
	*/
	Message string `db:"message" json:"message"`
	//扩展参数
	/**
	3 定位坐标中,此处将存储坐标系统的address_xy: xy位置、address: 地址详情
	4 语音消息,此处将存储语音转译后的文字信息message_text: 语音消息文本
	*/
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
	//红包消息结构
	MoneyData FieldsMessageMoney `json:"moneyData"`
	//票据消息结构
	TicketData FieldsMessageTicket `json:"ticketData"`
}

func GetMessageList

func GetMessageList(args *ArgsGetMessageList) (dataList []DataGetMessageList, dataCount int64, err error)

GetMessageList 获取消息列表

type FieldsChat

type FieldsChat struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//离开时间
	LeaveAt time.Time `db:"leave_at" json:"leaveAt"`
	//最后一次阅读时间
	// 用于计算该用户有多少条未读消息
	LastAt time.Time `db:"last_at" json:"lastAt"`
	//参与用户
	UserID int64 `db:"user_id" json:"userID"`
	//别名
	Name string `db:"name" json:"name"`
	//参与聊天室
	GroupID int64 `db:"group_id" json:"groupID"`
	//未读消息个数
	UnReadCount int64 `db:"un_read_count" json:"unReadCount"`
}

FieldsChat 参与聊天的用户

func GetChatList

func GetChatList(args *ArgsGetChatList) (dataList []FieldsChat, dataCount int64, err error)

GetChatList 获取成员列表

type FieldsGroup

type FieldsGroup struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//最后一次聊天时间
	LastAt time.Time `db:"last_at" json:"lastAt"`
	//绑定组织
	// 商户可以查看构建的相关聊天室
	OrgID int64 `db:"org_id" json:"orgID"`
	//名称
	Name string `db:"name" json:"name"`
	//聊天室创建人
	UserID int64 `db:"user_id" json:"userID"`
	//只有创建人能邀请其他人?
	OnlyCreateInvite bool `db:"only_create_invite" json:"onlyCreateInvite"`
	//扩展参数
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

FieldsGroup 聊天室

func CreateGroup

func CreateGroup(args *ArgsCreateGroup) (data FieldsGroup, err error)

CreateGroup 创建新聊天室

func GetGroupList

func GetGroupList(args *ArgsGetGroupList) (dataList []FieldsGroup, dataCount int64, err error)

GetGroupList 获取群组列表

type FieldsMessage

type FieldsMessage struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//参与聊天室
	GroupID int64 `db:"group_id" json:"groupID"`
	//发起用户
	UserID int64 `db:"user_id" json:"userID"`
	//消息类型
	// 0 普通消息; 1 红包领取; 2 优惠券; 3 定位坐标; 4 语音消息; 5 提示信息(发起了视频、语音通话)
	MessageType int `db:"message_type" json:"messageType"`
	//消息内容
	/**
	0 普通消息,存储消息内容
	4 语音消息,存储语音转化为base64文本数据包
	*/
	Message string `db:"message" json:"message"`
	//扩展参数
	/**
	3 定位坐标中,此处将存储坐标系统的address_xy: xy位置、address: 地址详情
	4 语音消息,此处将存储语音转译后的文字信息message_text: 语音消息文本
	*/
	Params CoreSQLConfig.FieldsConfigsType `db:"params" json:"params"`
}

FieldsMessage 聊天离线消息

type FieldsMessageMoney

type FieldsMessageMoney struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//发起用户
	// 该用户必须具有大于资金量
	UserID int64 `db:"user_id" json:"userID"`
	//参与聊天室
	GroupID int64 `db:"group_id" json:"groupID"`
	//消息ID
	MessageID int64 `db:"message_id" json:"messageID"`
	//储蓄配置
	ConfigMark string `db:"config_mark" json:"configMark" check:"mark" empty:"true"`
	//金额
	Price int64 `db:"price" json:"price"`
	//发放办法
	// 0 全部发放给领取的第一个人; 1 随机发放(0.01 - 总金额-尚未领取人数x0.01)
	TakeType int `db:"take_type" json:"takeType"`
	//领取人数限制
	CountLimit int `db:"count_limit" json:"countLimit"`
	//领取人列表
	TakeList FieldsMessageMoneyTakeList `db:"take_list" json:"takeList"`
}

FieldsMessageMoney 红包消息类型绑定关系

type FieldsMessageMoneyTake

type FieldsMessageMoneyTake struct {
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//领取用户
	UserID int64 `db:"user_id" json:"userID"`
	//支付ID
	PayID int64 `db:"pay_id" json:"payID"`
	//金额
	Price int64 `db:"price" json:"price"`
}

func (*FieldsMessageMoneyTake) Scan

func (t *FieldsMessageMoneyTake) Scan(value interface{}) error

func (FieldsMessageMoneyTake) Value

Value sql底层处理器

type FieldsMessageMoneyTakeList

type FieldsMessageMoneyTakeList []FieldsMessageMoneyTake

func (*FieldsMessageMoneyTakeList) Scan

func (t *FieldsMessageMoneyTakeList) Scan(value interface{}) error

func (FieldsMessageMoneyTakeList) Value

Value sql底层处理器

type FieldsMessageTicket

type FieldsMessageTicket struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//发起用户
	// 用户必须具备该票据配置足够的张数,否则禁止发起
	// 发起后将使用掉该用户的张数
	UserID int64 `db:"user_id" json:"userID"`
	//参与聊天室
	GroupID int64 `db:"group_id" json:"groupID"`
	//消息ID
	MessageID int64 `db:"message_id" json:"messageID"`
	//票据配置ID
	ConfigID int64 `db:"config_id" json:"configID"`
	//发放张数
	UseCount int64 `db:"use_count" json:"useCount"`
	//发放办法
	// 0 全部发放给领取的第一个人; 1 随机发放(1张 - 总张数-尚未领取人数x1张); 2 每人限制1张
	TakeType int `db:"take_type" json:"takeType"`
	//领取人数限制
	CountLimit int `db:"count_limit" json:"countLimit"`
	//领取人列表
	TakeList FieldsMessageTicketTakeList `db:"take_list" json:"takeList"`
}

FieldsMessageTicket 优惠券消息类型绑定关系

type FieldsMessageTicketTake

type FieldsMessageTicketTake struct {
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//领取用户
	UserID int64 `db:"user_id" json:"userID"`
	//领取张数
	GetCount int64 `db:"get_count" json:"getCount"`
}

func (*FieldsMessageTicketTake) Scan

func (t *FieldsMessageTicketTake) Scan(value interface{}) error

func (FieldsMessageTicketTake) Value

Value sql底层处理器

type FieldsMessageTicketTakeList

type FieldsMessageTicketTakeList []FieldsMessageTicketTake

func (*FieldsMessageTicketTakeList) Scan

func (t *FieldsMessageTicketTakeList) Scan(value interface{}) error

func (FieldsMessageTicketTakeList) Value

Value sql底层处理器

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL