Browse Source

消息删除改为软删除

master
wanghongjun 8 months ago
parent
commit
fa1c3b6ad3
  1. 5
      app/common/task/ClearMessage.php
  2. 5
      app/enterprise/controller/Friend.php
  3. 5
      app/enterprise/controller/Group.php
  4. 7
      app/manage/controller/Index.php
  5. 2
      app/manage/controller/Message.php

5
app/common/task/ClearMessage.php

@ -56,7 +56,10 @@ class ClearMessage extends Task
if($status && $days){
$time=time() - ($days * $this->daytime);
$where[]=['create_time','<',$time];
Message::where($where)->delete();
$res = Message::where($where)->select();
foreach ($res as $resRes) {
$resRes->delete();
}
}
print "****************消息清理成功******************\n";
} catch (Exception $e) {

5
app/enterprise/controller/Friend.php

@ -157,7 +157,10 @@ class Friend extends BaseController
$chat_identify=chat_identify($this->uid,$param['id']);
$messageIds = Message::where(['chat_identify' => $chat_identify])->column('id');
if ($messageIds) {
Message::where([['id', 'in', $messageIds]])->delete();
$res = Message::where([['id', 'in', $messageIds]])->select();
foreach ($res as $resMsg) {
$resMsg->delete();
}
}
// 性质和删除群聊一样
wsSendMsg($param['id'],'removeGroup',['group_id'=>$this->uid]);

5
app/enterprise/controller/Group.php

@ -518,7 +518,10 @@ class Group extends BaseController
Db::startTrans();
try{
// 删除所有消息
Message::where(['chat_identify'=>$id])->delete();
$res = Message::where(['chat_identify'=>$id])->select();
foreach ($res as $resMes) {
$resMes->delete();
}
// 该群聊的所有未读置为0
GroupUser::where('group_id',$group_id)->update(['unread'=>0]);
wsSendMsg($group_id,"clearMessage",['group_id'=>'group-'.$group_id],1);

7
app/manage/controller/Index.php

@ -21,7 +21,10 @@ class Index extends BaseController
if($this->userInfo['user_id']!=1){
return warning('system.noAuth');
}
Message::where(['status'=>1])->delete();
$res = Message::where(['status'=>1])->select();
foreach ($res as $resMsg) {
$resMsg->delete();
}
return success('system.clearOk');
}
@ -48,7 +51,7 @@ class Index extends BaseController
$map=['msg_id'=>$msgId];
$message=Message::where($map)->find();
if($message){
Message::where($map)->delete();
$message->delete();
}
return success('');
}

2
app/manage/controller/Message.php

@ -181,7 +181,7 @@ class Message extends BaseController
$dealType=$param['dealType'] ?? 0;
$content=$message['content'] ?? '';
if($dealType==1){
MessageModel::where(['id' => $id])->delete();
$message->delete();
// 如果是最后一条消息,需要将上一条设置为最后一条
if($message['is_last']){
MessageModel::where(['chat_identify'=>$message['chat_identify']])->order('msg_id desc')->limit(1)->update(['is_last'=>1]);

Loading…
Cancel
Save