加群处理
This commit is contained in:
@@ -206,11 +206,13 @@ class MessageController extends ApiController
|
|||||||
$unreadCount = 0;
|
$unreadCount = 0;
|
||||||
if(!empty($session['session_id'])) {
|
if(!empty($session['session_id'])) {
|
||||||
if($session['chat_type'] == 2) {
|
if($session['chat_type'] == 2) {
|
||||||
|
if($session['member_status']) {
|
||||||
// 最后一条消息
|
// 最后一条消息
|
||||||
$lastMsg = Db::name('chat_message')
|
$lastMsg = Db::name('chat_message')
|
||||||
->where('group_id', $session['group_id'])
|
->where('group_id', $session['group_id'])
|
||||||
->order('send_time', 'desc')
|
->order('send_time', 'desc')
|
||||||
->find();
|
->find();
|
||||||
|
}
|
||||||
}else {
|
}else {
|
||||||
$lastMsg = Db::name('chat_message')
|
$lastMsg = Db::name('chat_message')
|
||||||
->where('session_id', $session['session_id'])
|
->where('session_id', $session['session_id'])
|
||||||
|
|||||||
@@ -45,22 +45,30 @@ class ChatMessage extends BaseModel
|
|||||||
$sessionIds = array_merge($sessionIds, $group_arr);
|
$sessionIds = array_merge($sessionIds, $group_arr);
|
||||||
$group_id = '';
|
$group_id = '';
|
||||||
foreach ($sessionIds as $k => $session) {
|
foreach ($sessionIds as $k => $session) {
|
||||||
|
$data[$k]['user_id'] = $uid;
|
||||||
if($session['chat_type'] == 1) {
|
if($session['chat_type'] == 1) {
|
||||||
$chat_user = Db::name('chat_user')->where(['user_id' => $session['group_id']])->field('nick_name,avatar')->find();
|
$chat_user = Db::name('tb_user_info')->where(['id' => $session['group_id']])->field('nick_name,avatar')->find();
|
||||||
$avatar = $chat_user['avatar'];
|
$avatar = $chat_user['head_img'];
|
||||||
$name = $chat_user['nick_name'];
|
$name = $chat_user['nick_name'];
|
||||||
$group_id = '';
|
$group_id = '';
|
||||||
$data[$k]['user_id'] = $session['group_id'];
|
$data[$k]['to_id'] = $session['group_id'];
|
||||||
}elseif($session['chat_type'] == 2) {
|
}elseif($session['chat_type'] == 2) {
|
||||||
$group_info = Db::name('chat_group')->where(['id' => $session['group_id']])->field('id,name,avatar')->find();
|
$group_info = Db::name('chat_group')->where(['id' => $session['group_id']])->field('id,name,avatar')->find();
|
||||||
$avatar = $group_info['avatar'];
|
$avatar = $group_info['avatar'];
|
||||||
$group_id = $group_info['id'];
|
$group_id = $group_info['id'];
|
||||||
$name = $group_info['name'];
|
$name = $group_info['name'];
|
||||||
$data[$k]['user_id'] = $group_id;
|
$data[$k]['to_id'] = $group_id;
|
||||||
|
|
||||||
|
// 获取本人在群里的状态
|
||||||
|
$group_member = Db::name('chat_group_member')->where(['group_id' => $session['group_id'], 'user_id' => $uid])->find();
|
||||||
|
$data[$k]['member_status'] = 0;
|
||||||
|
// 如果在群里并且没有退群和被踢
|
||||||
|
if($group_member && $group_member['quit_time'] == null && $group_member['is_kicked'] == 0) {
|
||||||
|
$data[$k]['member_status'] = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 单聊的话 两个人对话用一样的会话ID
|
// 单聊的话 两个人对话用一样的会话ID
|
||||||
$data[$k]['avatar'] = $avatar;
|
$data[$k]['avatar'] = $avatar;
|
||||||
$data[$k]['to_id'] = $data[$k]['user_id'];
|
|
||||||
$data[$k]['chat_type'] = $session['chat_type'];
|
$data[$k]['chat_type'] = $session['chat_type'];
|
||||||
$data[$k]['session_id'] = $session['session_id'];
|
$data[$k]['session_id'] = $session['session_id'];
|
||||||
$data[$k]['name'] = $name;
|
$data[$k]['name'] = $name;
|
||||||
|
|||||||
Reference in New Issue
Block a user