Browse Source

单聊群聊一键删除接口

master
wanghongjun 4 months ago
parent
commit
35f44a7332
  1. 2
      app/common/task/UserClearMessage.php
  2. 37
      app/enterprise/controller/Friend.php
  3. 37
      app/enterprise/controller/Group.php

2
app/common/task/UserClearMessage.php

@ -73,6 +73,8 @@ class UserClearMessage extends Task
$whereMsg = [
['create_time', '<', $time],
['is_group', '=', 0],
['from_user', '=', $form_user],
['to_user', '=', $to_user],
['chat_identify', '=', $chat_identify]
];
$msgRes = Message::where($whereMsg)->select();

37
app/enterprise/controller/Friend.php

@ -5,7 +5,7 @@ namespace app\enterprise\controller;
use app\BaseController;
use app\manage\model\Config;
use app\enterprise\model\{Friend as FriendModel, Message, User};
use app\enterprise\model\{File, Friend as FriendModel, Message, User};
class Friend extends BaseController
{
@ -260,7 +260,7 @@ class Friend extends BaseController
{
$to_user = $this->request->param('to_user');
$day = $this->request->param('day', 0);
$uid = $this->userInfo['id'];
$uid = $this->userInfo['user_id'];
if (!is_numeric($day)) return error(lang('system.fail'));
if (!is_numeric($to_user)) return error(lang('system.fail'));
@ -300,4 +300,37 @@ class Friend extends BaseController
wsSendMsg($to_user, 'undoMessage', $data);
return success('', $data);
}
// 单聊一键清除消息
public function removeAllMessage()
{
$to_user = $this->request->param('to_user');
if (!is_numeric($to_user)) return error(lang('system.fail'));
$uid = $this->userInfo['user_id'];
$friendWhere = [
'friend_user_id' => $to_user,
'create_user' => $uid
];
$friend = FriendModel::where($friendWhere)->find();
if (!$friend) {
return warning(lang('system.fail'));
}
$chat_identify = chat_identify($uid, $to_user);
$whereMsg = [
['from_user', '=', $uid],
['to_user', '=', $to_user],
['is_group', '=', 0],
['chat_identify', '=', $chat_identify]
];
$msgRes = Message::where($whereMsg)->select();
foreach ($msgRes as $msg) {
$msg->force()->delete();
File::syncDelFile($msg->file_id);
}
wsSendMsg([$uid, $to_user], 'delMessageAll', []);
return success('');
}
}

37
app/enterprise/controller/Group.php

@ -4,7 +4,7 @@ namespace app\enterprise\controller;
use app\BaseController;
use app\manage\model\Config;
use app\enterprise\model\{User,Group as GroupModel,GroupUser,Message};
use app\enterprise\model\{File, User, Group as GroupModel, GroupUser, Message};
use think\Exception;
use think\facade\Db;
use app\common\controller\Upload;
@ -549,7 +549,7 @@ class Group extends BaseController
$id = $this->request->param('id');
$group_id = explode('-', $id)[1];
$day = $this->request->param('day', 0);
$uid = $this->userInfo['id'];
$uid = $this->userInfo['user_id'];
if (!is_numeric($day)) return error(lang('system.fail'));
if (!is_numeric($group_id)) return error(lang('system.fail'));
@ -589,4 +589,37 @@ class Group extends BaseController
wsSendMsg($group_id, 'undoMessage', $data, 1);
return success('', $data);
}
// 群聊一键清除消息
public function removeAllMessage()
{
$id = $this->request->param('id');
$group_id = explode('-', $id)[1];
if (!is_numeric($group_id)) return error(lang('system.fail'));
$whereGroupUser = [
'group_id' => $group_id,
'user_id' => $this->userInfo['user_id'],
'status' => 1,
'delete_time' => 0
];
$groupUser = GroupUser::where($whereGroupUser)->find();
if (!$groupUser) {
return warning(lang('system.fail'));
}
$chat_identify = "group-{$group_id}";
$whereMsg = [
['is_group', '=', 1],
['to_user', '=', $group_id],
['chat_identify', '=', $chat_identify]
];
$msgRes = Message::where($whereMsg)->select();
foreach ($msgRes as $msg) {
$msg->force()->delete();
File::syncDelFile($msg->file_id);
}
wsSendMsg($group_id, 'delMessageAll', [], 1);
return success('');
}
}

Loading…
Cancel
Save