Browse Source

修改群聊清除消息

master
wanghongjun 6 months ago
parent
commit
57ed08e34f
  1. 7
      app/common/task/UserClearMessage.php
  2. 11
      app/enterprise/controller/Friend.php
  3. 6
      app/enterprise/controller/Group.php
  4. 8
      public/sql/database.sql

7
app/common/task/UserClearMessage.php

@ -4,7 +4,7 @@ namespace app\common\task;
use app\enterprise\model\File;
use app\enterprise\model\Friend;
use app\enterprise\model\GroupUser;
use app\enterprise\model\Group as GroupModel;
use app\enterprise\model\Message;
use app\manage\model\Config;
use yunwuxin\cron\Task;
@ -91,11 +91,10 @@ class UserClearMessage extends Task
['clear_msg_day','>' , 0]
];
$groupUser = GroupUser::where($whereGroupUser)->field('user_id,group_id,clear_msg_day')->select();
foreach ($groupUser as $item) {
$group = GroupModel::where($whereGroupUser)->field('group_id,clear_msg_day')->select();
foreach ($group as $item) {
$days = $item['clear_msg_day'];
$group_id = $item['group_id'];
$form_user = $item['user_id'];
$time = time() - ($days * $this->daytime);
$chat_identify = "group-{$group_id}";

11
app/enterprise/controller/Friend.php

@ -293,6 +293,17 @@ class Friend extends BaseController
$friend->clear_msg_day = $day;
$friend->save();
$friendWhere2 = [
'friend_user_id' => $uid,
'create_user' => $to_user
];
$friend2 = FriendModel::where($friendWhere2)->find();
if (!$friend2) {
return warning(lang('system.fail'));
}
$friend2->clear_msg_day = $day;
$friend2->save();
$is_close = $day ? 0 : 1;
$data = Message::setAutoDelMessageNotice($uid, $to_user, $title, 0, $is_close);
$data['isMobile'] = $this->request->isMobile() ? 1 : 0;

6
app/enterprise/controller/Group.php

@ -79,7 +79,6 @@ class Group extends BaseController
$group['avatar']=avatarUrl($group['avatar'],$group['name'],$group['group_id'],120);
$group['setting']=$group['setting']?json_decode($group['setting'],true):['manage' => 0, 'invite' => 1, 'nospeak' => 0];
$group['isJoin']=GroupUser::where(['group_id'=>$group_id,'user_id'=>$this->uid])->value('role') ?: 0;
$group['clear_msg_day']=GroupUser::where(['group_id'=>$group_id,'user_id'=>$this->uid])->value('clear_msg_day') ?: 0;
return success('', $group);
} catch (Exception $e) {
return error($e->getMessage());
@ -572,10 +571,9 @@ class Group extends BaseController
}
$groupUserWhere = [
'group_id' => $group_id,
'user_id' => $uid
'group_id' => $group_id
];
$groupUser = GroupUser::where($groupUserWhere)->find();
$groupUser = GroupModel::where($groupUserWhere)->find();
if (!$groupUser) {
return warning(lang('system.fail'));
}

8
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\"}', 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\"}', 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);
@ -98,7 +98,8 @@ CREATE TABLE `yu_group` (
`notice` mediumtext COLLATE utf8mb4_unicode_ci COMMENT '公告',
`setting` mediumtext COLLATE utf8mb4_unicode_ci COMMENT '设置',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态',
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间'
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间',
`clear_msg_day` int(10) UNSIGNED DEFAULT '0' NOT NULL COMMENT '清除消息时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------
@ -119,8 +120,7 @@ CREATE TABLE `yu_group_user` (
`is_top` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否置顶',
`no_speak_time` int(11) NOT NULL DEFAULT '0' COMMENT '禁言到期时间',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 0 ,未同意邀请,1,同意',
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间',
`clear_msg_day` int(10) UNSIGNED DEFAULT '0' NOT NULL COMMENT '清除消息时间'
`delete_time` int(11) NOT NULL DEFAULT '0' COMMENT '删除时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- --------------------------------------------------------

Loading…
Cancel
Save