|
@@ -918,7 +918,7 @@ class ChatService implements ChatServiceInterface
|
|
|
// var_dump(date('Y-m-d H:i:s'), 'tedst111111111111111');
|
|
|
$creatter = $topdata['user_id'];
|
|
|
if ($data['status'] == 2 && $topdata['is_group'] == 1) {
|
|
|
-
|
|
|
+ $group_id = '';
|
|
|
if(empty($topdata['group_id'])){
|
|
|
$group_id = PublicData::uuid();
|
|
|
$groupData = [
|
|
@@ -1072,31 +1072,42 @@ class ChatService implements ChatServiceInterface
|
|
|
*/
|
|
|
public function updateGroupMembers(array $data): array
|
|
|
{
|
|
|
- $where = [
|
|
|
- 'group_id' => $data['group_id'],
|
|
|
- ];
|
|
|
- $group_id = $data['group_id'];
|
|
|
- //先删除群成员
|
|
|
- $result = ChatGroupsMember::where($where)
|
|
|
- ->where([["user_id", '!=', $data['user_id']]])->delete();
|
|
|
- $groupMemberData = [];
|
|
|
- foreach ($data['group_member'] as $value) {
|
|
|
- $groupMemberData[] = [
|
|
|
- 'id' => PublicData::uuid(),
|
|
|
- 'user_id' => $value,
|
|
|
- 'group_id' => $group_id,
|
|
|
- 'leader' => 0,
|
|
|
+ DB::beginTransaction();
|
|
|
+ try{
|
|
|
+ $where = [
|
|
|
+ 'group_id' => $data['group_id'],
|
|
|
];
|
|
|
- }
|
|
|
- $result = ChatGroupsMember::where($where)->insert($groupMemberData);
|
|
|
- // 获取群信息
|
|
|
- $groupInfo = ChatGroups::where(['id' => $group_id])->first();
|
|
|
-
|
|
|
- if ($result) {
|
|
|
+ $group_id = $data['group_id'];
|
|
|
+ //先删除群成员
|
|
|
+ $result = ChatGroupsMember::where($where)
|
|
|
+ ->where([["user_id", '!=', $data['user_id']]])->delete();
|
|
|
+ $groupMemberData = [];
|
|
|
+ foreach ($data['group_member'] as $value) {
|
|
|
+ $groupMemberData[] = [
|
|
|
+ 'id' => PublicData::uuid(),
|
|
|
+ 'user_id' => $value,
|
|
|
+ 'group_id' => $group_id,
|
|
|
+ 'leader' => 0,
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ $result = ChatGroupsMember::where($where)->insert($groupMemberData);
|
|
|
+ //删除会话踢出群的会话信息
|
|
|
+ // var_dump("data",$data);
|
|
|
+ //字符串转数组,
|
|
|
+ $groupIdList = $data['group_member'];
|
|
|
+ array_push($groupIdList,$data['user_id']);
|
|
|
+ // var_dump("几个",$groupIdList);
|
|
|
+ ChatRecords::whereNotIn('receiver_id',$groupIdList)->delete();
|
|
|
+
|
|
|
+ // 获取群信息
|
|
|
+ $groupInfo = ChatGroups::where(['id' => $group_id])->first();
|
|
|
+ DB::commit();
|
|
|
return Result::success($groupInfo);
|
|
|
- } else {
|
|
|
- return Result::error($data);
|
|
|
+ }catch(\Exception $e){
|
|
|
+ DB::rollBack();
|
|
|
+ return Result::error($data, $e->getMessage());
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
public function clearGroupRecords(array $data): array
|
|
|
{
|