Browse Source

后台一键删除消息

master
wanghongjun 4 months ago
parent
commit
6135ef5c7b
  1. 35
      app/enterprise/model/Message.php
  2. 15
      app/manage/controller/Config.php
  3. 2
      public/sql/database.sql

35
app/enterprise/model/Message.php

@ -397,4 +397,39 @@ class Message extends BaseModel
$msgInfo['toContactId'] = (int)$from_user;
return $msgInfo;
}
// 一键清除数据
public function oneClickDelMsg($type)
{
switch ($type) {
case "user":
self::delMsg();
break;
case "group":
self::delMsg(1);
break;
case "all":
self::delMsg();
self::delMsg(1);
break;
default:
return false;
}
return true;
}
// 删除消息
public static function delMsg($is_group = 0)
{
$where = [
['is_group', '=', $is_group],
['file_id', '>', 0]
];
$model = new self();
$file_id_arr = $model->where($where)->column('file_id');
foreach ($file_id_arr as $file_id) {
File::syncDelFile($file_id);
}
$model->where('is_group',0)->force()->delete();
}
}

15
app/manage/controller/Config.php

@ -115,4 +115,19 @@ class Config extends BaseController
return success(lang('system.sendOk'));
}
// 一键删除
public function oneClickMsg()
{
$type=$this->request->param('type');
$value = Conf::where(['name'=>'chatInfo'])->value('value');
$messageOneClickDel = $value['messageOneClickDel'] ?? 0;
if ($messageOneClickDel == 1) {
$res = \app\enterprise\model\Message::oneClickDelMsg($type);
if (!$res) {
return success(lang('system.fail'));
}
}
return success(lang('system.success'));
}
}

2
public/sql/database.sql

@ -26,7 +26,7 @@ CREATE TABLE `yu_config` (
INSERT INTO `yu_config` (`id`, `name`, `value`, `create_user`, `update_time`, `create_time`, `remark`, `status`) VALUES
(1, 'sysInfo', '{\"logo\": \"\", \"name\": \"Raingad-IM\", \"state\": \"1\", \"regauth\": \"0\", \"regtype\": \"2\", \"runMode\": \"1\", \"ipregion\": \"1\", \"closeTips\": \"系统升级维护中,请稍候再试!\", \"description\": \"一款基于vue2.0的即时通信系统\", \"registerInterval\": \"600\"}', 0, 1688462862, 1688462862, NULL, 1),
(2, 'chatInfo', '{\"stun\": \"\", \"online\": \"1\", \"webrtc\": \"0\", \"dbDelMsg\": \"1\", \"msgClear\": \"1\", \"redoTime\": \"120\", \"stunPass\": \"\", \"stunUser\": \"\", \"groupChat\": \"1\", \"simpleChat\": \"1\", \"autoAddUser\": {\"status\": \"0\", \"welcome\": \"你好啊,欢迎来到Raingad-IM\", \"user_ids\": [\"1\", \"2\", \"3\"], \"user_items\": [\"1\", \"2\", \"3\"]}, \"msgClearDay\": \"30\", \"autoAddGroup\": {\"name\": \"春游交流\", \"status\": \"0\", \"userMax\": \"100\", \"owner_uid\": \"1\", \"owner_info\": [{\"id\": \"1\", \"avatar\": \"", \"user_id\": \"1\", \"realname\": \"管理员\"}]}, \"groupUserMax\": \"0\", \"sendInterval\": \"0\", \"userMsgClear\":\"0\", \"userMsgClearDay\":[]}', 0, 1688463300, 1688463300, NULL, 1),
(2, 'chatInfo', '{\"stun\": \"\", \"online\": \"1\", \"webrtc\": \"0\", \"dbDelMsg\": \"1\", \"msgClear\": \"1\", \"redoTime\": \"120\", \"stunPass\": \"\", \"stunUser\": \"\", \"groupChat\": \"1\", \"simpleChat\": \"1\", \"autoAddUser\": {\"status\": \"0\", \"welcome\": \"你好啊,欢迎来到Raingad-IM\", \"user_ids\": [\"1\", \"2\", \"3\"], \"user_items\": [\"1\", \"2\", \"3\"]}, \"msgClearDay\": \"30\", \"autoAddGroup\": {\"name\": \"春游交流\", \"status\": \"0\", \"userMax\": \"100\", \"owner_uid\": \"1\", \"owner_info\": [{\"id\": \"1\", \"avatar\": \"", \"user_id\": \"1\", \"realname\": \"管理员\"}]}, \"groupUserMax\": \"0\", \"sendInterval\": \"0\", \"userMsgClear\":\"0\", \"userMsgClearDay\":[], \"messageOneClickDel\":\"0\"}', 0, 1688463300, 1688463300, NULL, 1),
(3, 'smtp', '{\"addr\": \"xiekunyu@sss.com\", \"host\": \"smtp.exmail.qq.com\", \"pass\": \"ssss\", \"port\": \"465\", \"sign\": \"Raingad-IM\", \"security\": \"ssl\"}', 0, 1688464072, 1688464072, NULL, 1),
(4, 'fileUpload', '{\"disk\": \"local\", \"size\": \"50\", \"qiniu\": {\"url\": \"\", \"bucket\": \"\", \"accessKey\": \"\", \"secretKey\": \"\"}, \"aliyun\": {\"url\": \"\", \"bucket\": \"\", \"accessId\": \"\", \"endpoint\": \"\", \"accessSecret\": \"\"}, \"qcloud\": {\"cdn\": \"\", \"appId\": \"\", \"bucket\": \"\", \"region\": \"\", \"secretId\": \"\", \"secretKey\": \"\"}, \"fileExt\": [\"jpg\", \"jpeg\", \"ico\", \"webp\", \"bmp\", \"gif\", \"pdf\", \"mp3\", \"wav\", \"wmv\", \"amr\", \"mp4\", \"3gp\", \"avi\", \"m2v\", \"mkv\", \"mov\", \"ppt\", \"pptx\", \"doc\", \"docx\", \"xls\", \"xlsx\", \"txt\", \"md\", \"hevc\", \"png\", \"KLKV\"], \"preview\": \"\"}', 0, 1688464130, 1688464130, NULL, 1),
(5, 'compass', '{\"list\": [], \"mode\": 1, \"status\": 0}', 0, 1688464130, 1688464130, NULL, 1);

Loading…
Cancel
Save