AI преди 3 месеца
родител
ревизия
78769d311c
променени са 1 файла, в които са добавени 32 реда и са изтрити 16 реда
  1. 32 16
      app/JsonRpc/ChatService.php

+ 32 - 16
app/JsonRpc/ChatService.php

@@ -221,22 +221,38 @@ class ChatService implements ChatServiceInterface
      */
     public function delFriend(array $data): array
     {
-        $where = [
-            'user_id' => $data['user_id'],
-            'friend_id' => $data['friend_id'],
-        ];
-        $orwhere = [
-            'friend_id' => $data['user_id'],
-            'user_id' => $data['friend_id'],
-        ];
-        $result = ChatFriends::where($where)
-            ->orWhere($orwhere)->delete();
-        var_dump($result, '-0------------------');
-        ChatRecords::where($where)->orWhere($orwhere)->delete();
-        if ($result) {
-            return Result::success("删除成功”");
-        } else {
-            return Result::error('删除失败');
+        Db::beginTransaction();
+        try {
+
+            $where = [
+                'user_id' => $data['user_id'],
+                'friend_id' => $data['friend_id'],
+            ];
+            $orwhere = [
+                'friend_id' => $data['user_id'],
+                'user_id' => $data['friend_id'],
+            ];
+            $result = ChatFriends::where($where)
+                ->orWhere($orwhere)->delete();
+            var_dump($result, '-0------------------');
+            $where = [
+                'user_id' => $data['user_id'],
+                'receiver_id' => $data['friend_id'],
+            ];
+            $orwhere = [
+                'receiver_id' => $data['user_id'],
+                'user_id' => $data['friend_id'],
+            ];
+            ChatRecords::where($where)->orWhere($orwhere)->delete();
+            Db::commit();
+            if ($result) {
+                return Result::success("删除成功”");
+            } else {
+                return Result::error('删除失败');
+            }
+        } catch (\Exception $e) {
+            Db::rollback();
+            return Result::error($e->getMessage());
         }
     }
     /**