即时消息接口完结

This commit is contained in:
2025-11-19 15:34:37 +08:00
parent 45b4efa759
commit 2a89361d3e
5 changed files with 167 additions and 147 deletions

View File

@@ -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();
}