即时消息接口完结
This commit is contained in:
@@ -95,6 +95,14 @@ class GroupController extends ApiController
|
||||
return $this->error('已在群内');
|
||||
}
|
||||
|
||||
|
||||
// 再次加入时
|
||||
$z_exists = Db::name('chat_group_member')->where([
|
||||
'group_id' => $group_id,
|
||||
'user_id' => $this->uid,
|
||||
'is_kicked' => 0
|
||||
])->where('quit_time', 'not null')->find();
|
||||
|
||||
// 被踢用户不能重新加入(需群主邀请)
|
||||
$isKicked = Db::name('chat_group_member')->where([
|
||||
'group_id' => $group_id,
|
||||
@@ -113,6 +121,8 @@ class GroupController extends ApiController
|
||||
'join_time' => d(),
|
||||
];
|
||||
$is_insert = true;
|
||||
|
||||
|
||||
if($invite) {
|
||||
// 验证邀请参数是否正常
|
||||
$decryptedText = simple_decrypt($invite, config('cons.sercer_key'));
|
||||
@@ -125,6 +135,11 @@ class GroupController extends ApiController
|
||||
$insert_arr['group_id'] = $decryptedText_arr['group_id'];
|
||||
$group_id = $decryptedText_arr['group_id'];
|
||||
}
|
||||
// 如果是再次加入
|
||||
if($z_exists) {
|
||||
$insert_arr['quit_time'] = null;
|
||||
$is_insert = false;
|
||||
}
|
||||
try {
|
||||
Db::startTrans();
|
||||
// 插入用户信息
|
||||
@@ -258,6 +273,9 @@ class GroupController extends ApiController
|
||||
'quit_time' => null,
|
||||
'role' => 1
|
||||
])->update(['user_id' => $object_user_id, 'object_user_id' => $this->uid]);
|
||||
Db::name('chat_group')->where([
|
||||
'id' => $group_id,
|
||||
])->update(['owner_id' => $object_user_id]);
|
||||
if($res) {
|
||||
return $this->success();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user