PHP Class MessageModel, thinksns

Author: : **
Show file Open project: medz/thinksns-4 Class Usage Examples

Protected Properties

Property Type Description
$fields
$tableName 系统私信

Public Methods

Method Description
_initialize ( ) 初始化方法,
deleteMessageByListId ( integer $member_uid, array $list_ids ) : boolean 指定用户删除指定的私信列表
deleteMessageList ( array $list_ids ) : boolean 直接删除私信列表,管理员操作
deleteSessionByAdmin ( array $message_ids ) : boolean 直接删除会话操作,管理员操作
deleteSessionById ( integer $member_uid, array $message_ids ) : boolean 指定用户删除指定会话
doEditMessage ( integer $message_id, string $type, string $title ) : array 编辑会话,彻底删除,假删除,恢复
doSendFeedMail ( ) 发送提醒邮件接口 - 计划任务使用
getDetailById ( integer $uid, integer $id, boolean $show_cascade = true ) : array 获取私信详细内容
getDetailList ( array $map, integer $limit = 20, string $order = 'a.message_id DESC' ) : [type] 获取所有私信内容的列表
getLastMessageByUidForAPI ( $uid ) : array 获取用户的最后一条私信,API专用
getMessageByListId ( integer $list_id, integer $uid, integer $since_id = null, integer $max_id = null, integer $count = 20 ) : array 获取指定私信列表中的私信内容
getMessageListByUid ( integer $uid, integer $type = 1, $limit = 20 ) : array 获取私信列表 - 分页型
getMessageListByUidForAPI ( integer $uid, string $type = 1, integer $since_id, integer $max_id, integer $count = 20, integer $page = 1, string $order = '`mb`.`new` DESC,`mb`.`list_id` DESC' ) : array 私信列表,API专用
getMessageListByUidForAPIUnread ( integer $uid, string $type = 1, integer $since_id, integer $max_id, integer $count = 20, integer $page = 1, string $order = '`mb`.`new` DESC,`mb`.`list_id` DESC' ) : array 未读私信列表,API专用
getMessageMembers ( integer $list_id, string $field = null ) : array 获取指定私信列表中的成员信息
getSinceMessageId ( integer $list_id, integer $nums ) : integer 获取指定私信列表,指定结果集的最早会话ID,用于动态加载
getUnreadMessageCount ( integer $uid, integer $type ) : integer 获取指定用户未读的私信数目
isMember ( integer $list_id, integer $uid, boolean $show_detail = false ) : array 验证指定用户是否是指定私信列表的成员
postMessage ( array $data, integer $from_uid, boolean $send_email = false ) : boolean 发送私信
replyMessage ( integer $list_id, string $content, integer $from_uid, array $attach_ids ) : mix 回复私信
setAllIsRead ( integer $member_uid ) : boolean 设置指定用户所有的私信为已读
setMessageIsRead ( array $list_ids = null, [type] $member_uid, $val ) : boolean 设置指定用户指定私信为已读

Private Methods

Method Description
_addMessage ( array $data, integer $from_uid ) : mix 添加会话
_addMessageList ( array $data, integer $from_uid ) : mix 添加新的私信列表
_addMessageMember ( array $data, integer $from_uid ) : mix 添加私信列表的成员
_afterDeleteMessage ( integer | array $message_id ) 删除私信后的数据处理操作
_getUidMinMax ( array $uids ) : string 输出从小到大用“_”连接的字符串
_parseMessageList ( array &$list, integer $current_uid ) : array 格式化,私信列表数据
_parseToUidByMinMax ( string $min_max_uids, integer $from_uid ) : array 格式化用户数组,去除指定用户

Method Details

_initialize() public method

初始化方法,
public _initialize ( )

deleteMessageByListId() public method

指定用户删除指定的私信列表
public deleteMessageByListId ( integer $member_uid, array $list_ids ) : boolean
$member_uid integer 用户ID
$list_ids array 私信列表ID
return boolean 是否删除成功

deleteMessageList() public method

直接删除私信列表,管理员操作
public deleteMessageList ( array $list_ids ) : boolean
$list_ids array 私信列表ID数组
return boolean 是否删除成功

deleteSessionByAdmin() public method

直接删除会话操作,管理员操作
public deleteSessionByAdmin ( array $message_ids ) : boolean
$message_ids array 会话ID数组
return boolean 是否删除成功

deleteSessionById() public method

指定用户删除指定会话
public deleteSessionById ( integer $member_uid, array $message_ids ) : boolean
$member_uid integer 用户ID
$message_ids array 会话ID数组
return boolean 是否删除成功

doEditMessage() public method

编辑会话,彻底删除,假删除,恢复
public doEditMessage ( integer $message_id, string $type, string $title ) : array
$message_id integer 会话ID
$type string 操作类型,彻底删除:deleteMessage,假删除:delMessage,恢复:其他字符串
$title string 知识内容,功能待完成
return array 返回操作后的信息数据

doSendFeedMail() public method

发送提醒邮件接口 - 计划任务使用
public doSendFeedMail ( )

getDetailById() public method

获取私信详细内容
public getDetailById ( integer $uid, integer $id, boolean $show_cascade = true ) : array
$uid integer 用户UID
$id integer 私信ID
$show_cascade boolean 是否获取回话内容
return array 私信详细内容

getDetailList() public method

获取所有私信内容的列表
public getDetailList ( array $map, integer $limit = 20, string $order = 'a.message_id DESC' ) : [type]
$map array 查询条件
$limit integer 结果集数目,默认为20
$order string 排序条件,默认为a.message_id DESC
return [type]

getLastMessageByUidForAPI() public method

获取用户的最后一条私信,API专用
public getLastMessageByUidForAPI ( $uid ) : array
return array 用户的最后一条私信数据

getMessageByListId() public method

获取指定私信列表中的私信内容
public getMessageByListId ( integer $list_id, integer $uid, integer $since_id = null, integer $max_id = null, integer $count = 20 ) : array
$list_id integer 私信列表ID
$uid integer 用户ID
$since_id integer 最早会话ID
$max_id integer 最新会话ID
$count integer 旧会话加载条数,默认为20
return array 指定私信列表中的私信内容

getMessageListByUid() public method

获取私信列表 - 分页型
public getMessageListByUid ( integer $uid, integer $type = 1, $limit = 20 ) : array
$uid integer 用户UID
$type integer 私信类型,1表示一对一私信,2表示多人聊天,默认为1
return array 私信列表信息

getMessageListByUidForAPI() public method

私信列表,API专用
public getMessageListByUidForAPI ( integer $uid, string $type = 1, integer $since_id, integer $max_id, integer $count = 20, integer $page = 1, string $order = '`mb`.`new` DESC,`mb`.`list_id` DESC' ) : array
$uid integer 用户ID
$type string all:全部消息,is_read:阅读过的,is_unread:为阅读 默认'all'
$since_id integer 范围起始ID,默认0
$max_id integer 范围结束ID,默认0
$count integer 单页读取条数,默认20
$page integer 页码,默认1
$order string 排序,默认以消息ID倒叙排列
return array 私信列表数据

getMessageListByUidForAPIUnread() public method

未读私信列表,API专用
public getMessageListByUidForAPIUnread ( integer $uid, string $type = 1, integer $since_id, integer $max_id, integer $count = 20, integer $page = 1, string $order = '`mb`.`new` DESC,`mb`.`list_id` DESC' ) : array
$uid integer 用户ID
$type string all:全部消息,is_read:阅读过的,is_unread:为阅读 默认'all'
$since_id integer 范围起始ID,默认0
$max_id integer 范围结束ID,默认0
$count integer 单页读取条数,默认20
$page integer 页码,默认1
$order string 排序,默认以消息ID倒叙排列
return array 未读私信列表数据

getMessageMembers() public method

获取指定私信列表中的成员信息
public getMessageMembers ( integer $list_id, string $field = null ) : array
$list_id integer 私信列表ID
$field string 私信成员表中的字段
return array 指定私信列表中的成员信息

getSinceMessageId() public method

获取指定私信列表,指定结果集的最早会话ID,用于动态加载
public getSinceMessageId ( integer $list_id, integer $nums ) : integer
$list_id integer 私信列表ID
$nums integer 结果集数目
return integer 最早会话ID

getUnreadMessageCount() public method

获取指定用户未读的私信数目
public getUnreadMessageCount ( integer $uid, integer $type ) : integer
$uid integer 用户ID
$type integer 私信类型,1表示一对一私信,2表示多人聊天,默认为1
return integer 指定用户未读的私信数目

isMember() public method

验证指定用户是否是指定私信列表的成员
public isMember ( integer $list_id, integer $uid, boolean $show_detail = false ) : array
$list_id integer 私信列表ID
$uid integer 用户ID
$show_detail boolean 是否显示详细,默认为false
return array 如果是成员返回相关信息,不是则返回空数组

postMessage() public method

发送私信
public postMessage ( array $data, integer $from_uid, boolean $send_email = false ) : boolean
$data array 私信信息,包括to接受对象、title私信标题、content私信正文
$from_uid integer 发送私信的用户ID
$send_email boolean 是否同时发送邮件,默认为false
return boolean 是否发送成功

replyMessage() public method

回复私信
public replyMessage ( integer $list_id, string $content, integer $from_uid, array $attach_ids ) : mix
$list_id integer 回复的私信list_id
$content string 回复内容
$from_uid integer 回复者ID
$attach_ids array 附件ID数组
return mix 回复失败返回false,回复成功返回本条新回复的message_id

setAllIsRead() public method

设置指定用户所有的私信为已读
public setAllIsRead ( integer $member_uid ) : boolean
$member_uid integer 用户ID
return boolean 是否设置成功

setMessageIsRead() public method

设置指定用户指定私信为已读
public setMessageIsRead ( array $list_ids = null, [type] $member_uid, $val ) : boolean
$list_ids array 私信列表ID数组
$member_uid [type]
return boolean 是否设置成功

Property Details

$fields protected property

protected $fields

$tableName protected property

系统私信
protected $tableName