|
@@ -48,16 +48,23 @@ class ChatService implements ChatServiceInterface
|
|
$keyword = $data['keyword'];
|
|
$keyword = $data['keyword'];
|
|
$userId = $data['user_id'];
|
|
$userId = $data['user_id'];
|
|
|
|
|
|
- $result = User::where('user_name', 'like', '%' . $data['keyword'] . '%')
|
|
|
|
- ->orWhere('nickname', 'like', '%' . $data['keyword'] . '%')
|
|
|
|
- ->orWhere('mobile', 'like', '%' . $data['keyword'] . '%')
|
|
|
|
- ->leftJoin('chat_friends', function ($join) use ($userId) {
|
|
|
|
- $join->on('user.id', '=', 'chat_friends.friend_id')
|
|
|
|
- ->where('chat_friends.user_id', $userId);
|
|
|
|
|
|
+ $result = User::leftJoin('chat_friends', function ($join) use ($userId) {
|
|
|
|
+ $join->on('user.id', '=', 'chat_friends.friend_id')
|
|
|
|
+ ->where('chat_friends.user_id', '=', $userId);
|
|
|
|
+ })
|
|
|
|
+ ->where(function ($query) use ($data) {
|
|
|
|
+ $query->where('user.user_name', 'like', '%' . $data['keyword'] . '%')
|
|
|
|
+ ->orWhere('user.nickname', 'like', '%' . $data['keyword'] . '%')
|
|
|
|
+ ->orWhere('user.mobile', 'like', '%' . $data['keyword'] . '%');
|
|
})
|
|
})
|
|
|
|
+ ->where('user.id', '<>', $userId)
|
|
|
|
+ ->where('user.type_id', '<>', '20000')
|
|
->select('user.*', 'chat_friends.remark as remark', 'chat_friends.id as isfriend')
|
|
->select('user.*', 'chat_friends.remark as remark', 'chat_friends.id as isfriend')
|
|
|
|
+ // ->select('user.*', 'chat_friends.friend_id')
|
|
->get();
|
|
->get();
|
|
|
|
|
|
|
|
+ return Result::success($result);
|
|
|
|
+
|
|
if ($result) {
|
|
if ($result) {
|
|
return Result::success($result);
|
|
return Result::success($result);
|
|
} else {
|
|
} else {
|
|
@@ -182,8 +189,32 @@ class ChatService implements ChatServiceInterface
|
|
'status' => $status,
|
|
'status' => $status,
|
|
]
|
|
]
|
|
);
|
|
);
|
|
- Db::commit();
|
|
|
|
|
|
|
|
|
|
+ // 给对方发送通知
|
|
|
|
+ $friendId = $fr['user_id'];
|
|
|
|
+ $userId = $fr['friend_id'];
|
|
|
|
+ $content = "你们已经成为好友了" . date("Y-m-d H:i:s");
|
|
|
|
+ $chatRecordsData = [[
|
|
|
|
+ 'user_id' => $userId,
|
|
|
|
+ 'receiver_id' => $friendId,
|
|
|
|
+ 'content' => $content,
|
|
|
|
+ 'msg_type' => 1,
|
|
|
|
+ 'is_read' => 1,
|
|
|
|
+ 'talk_type' => 1,
|
|
|
|
+ 'action' => 'said',
|
|
|
|
+
|
|
|
|
+ ], [
|
|
|
|
+ 'user_id' => $friendId,
|
|
|
|
+ 'receiver_id' => $userId,
|
|
|
|
+ 'content' => $content,
|
|
|
|
+ 'msg_type' => 1,
|
|
|
|
+ 'is_read' => 1,
|
|
|
|
+ 'talk_type' => 1,
|
|
|
|
+ 'action' => 'recieved',
|
|
|
|
+
|
|
|
|
+ ]];
|
|
|
|
+ ChatRecords::insert($chatRecordsData);
|
|
|
|
+ Db::commit();
|
|
} catch (\Throwable $ex) {
|
|
} catch (\Throwable $ex) {
|
|
Db::rollBack();
|
|
Db::rollBack();
|
|
var_dump($ex->getMessage());
|
|
var_dump($ex->getMessage());
|
|
@@ -750,7 +781,8 @@ class ChatService implements ChatServiceInterface
|
|
'user_id' => $data['user_id'],
|
|
'user_id' => $data['user_id'],
|
|
'group_id' => $data['group_id'],
|
|
'group_id' => $data['group_id'],
|
|
];
|
|
];
|
|
- $result = ChatGroupsMember::insertGetId($info);
|
|
|
|
|
|
+ $result = ChatGroupsMember::insert($info);
|
|
|
|
+ var_dump($result, '--------------------');
|
|
if ($result) {
|
|
if ($result) {
|
|
return Result::success($data);
|
|
return Result::success($data);
|
|
} else {
|
|
} else {
|
|
@@ -852,6 +884,7 @@ class ChatService implements ChatServiceInterface
|
|
$result = ChatTopic::where(['id' => $data['id']])->update(['status' => $data['status']]);
|
|
$result = ChatTopic::where(['id' => $data['id']])->update(['status' => $data['status']]);
|
|
var_dump($result, 'tedst111111111111111');
|
|
var_dump($result, 'tedst111111111111111');
|
|
var_dump(date('Y-m-d H:i:s'), 'tedst111111111111111');
|
|
var_dump(date('Y-m-d H:i:s'), 'tedst111111111111111');
|
|
|
|
+ $creatter = $topdata['user_id'];
|
|
if ($data['status'] == 2) {
|
|
if ($data['status'] == 2) {
|
|
//插入一条消息
|
|
//插入一条消息
|
|
$chatRecordsData = [
|
|
$chatRecordsData = [
|
|
@@ -865,8 +898,10 @@ class ChatService implements ChatServiceInterface
|
|
'group_receiver_id' => $topdata['user_id'],
|
|
'group_receiver_id' => $topdata['user_id'],
|
|
];
|
|
];
|
|
ChatRecords::insert($chatRecordsData);
|
|
ChatRecords::insert($chatRecordsData);
|
|
- } else {
|
|
|
|
- ChatRecords::where('user_id', $topdata['user_id'])->where('receiver_id', $topdata['group_id'])->delete();
|
|
|
|
|
|
+ } elseif ($data['status'] == 3) {
|
|
|
|
+ ChatRecords::where('receiver_id', $topdata['group_id'])->delete();
|
|
|
|
+ ChatGroupsMember::where('group_id', $topdata['group_id'])
|
|
|
|
+ ->where([["user_id", '!=', $creatter]])->delete();
|
|
}
|
|
}
|
|
Db::commit();
|
|
Db::commit();
|
|
if ($result) {
|
|
if ($result) {
|
|
@@ -938,6 +973,7 @@ class ChatService implements ChatServiceInterface
|
|
$result = ChatTopicsReply::where(['topic_id' => $data['id']])
|
|
$result = ChatTopicsReply::where(['topic_id' => $data['id']])
|
|
->leftJoin('user', 'user.id', '=', 'chat_topics_reply.user_id')
|
|
->leftJoin('user', 'user.id', '=', 'chat_topics_reply.user_id')
|
|
->select('chat_topics_reply.*', 'user.nickname', 'user.avatar', 'user.user_name')
|
|
->select('chat_topics_reply.*', 'user.nickname', 'user.avatar', 'user.user_name')
|
|
|
|
+ ->orderBy('chat_topics_reply.id', 'desc')
|
|
->paginate($data['page_size'], ['*'], 'page', $data['page'] ?? 1);
|
|
->paginate($data['page_size'], ['*'], 'page', $data['page'] ?? 1);
|
|
return Result::success($result);
|
|
return Result::success($result);
|
|
}
|
|
}
|