From 57ed08e34fc0fe7902b9589c2d69d1ef19efd13a Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq.com> Date: Thu, 14 Aug 2025 17:31:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BE=A4=E8=81=8A=E6=B8=85?= =?UTF-8?q?=E9=99=A4=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/common/task/UserClearMessage.php | 7 +++---- app/enterprise/controller/Friend.php | 11 +++++++++++ app/enterprise/controller/Group.php | 6 ++---- public/sql/database.sql | 8 ++++---- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/app/common/task/UserClearMessage.php b/app/common/task/UserClearMessage.php index 903505a..c105bfa 100644 --- a/app/common/task/UserClearMessage.php +++ b/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}"; diff --git a/app/enterprise/controller/Friend.php b/app/enterprise/controller/Friend.php index 2d289a8..91bce3b 100644 --- a/app/enterprise/controller/Friend.php +++ b/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; diff --git a/app/enterprise/controller/Group.php b/app/enterprise/controller/Group.php index 6889ad0..495a97f 100644 --- a/app/enterprise/controller/Group.php +++ b/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')); } diff --git a/public/sql/database.sql b/public/sql/database.sql index 71a6b7a..c72eef1 100644 --- a/public/sql/database.sql +++ b/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; -- --------------------------------------------------------