聊天消息记录状态 + 表格导出底层

This commit is contained in:
wong
2025-11-27 17:09:53 +08:00
parent 7e2dd2914d
commit 637dcddee2
5 changed files with 256 additions and 93 deletions

View File

@@ -4,6 +4,7 @@ namespace app\chukebao\controller;
use library\ResponseHelper;
use app\api\model\WechatFriendModel;
use app\api\model\WechatMessageModel;
use app\api\controller\MessageController;
@@ -33,6 +34,7 @@ class DataProcessing extends BaseController
'CmdAllotFriend', //转让好友 {labels、wechatAccountId、wechatFriendId}
'CmdChatroomOperate', //修改群信息 {chatroomName群名、announce公告、extra公告、wechatAccountId、wechatChatroomId}
'CmdNewMessage', //接收消息
'CmdSendMessageResult', //更新消息状态
];
if (empty($type) || empty($wechatAccountId)) {
@@ -107,6 +109,44 @@ class DataProcessing extends BaseController
$msg = '消息记录失败';
$codee = 400;
}
break;
case 'CmdSendMessageResult':
$friendMessageId = $this->request->param('friendMessageId', 0);
$chatroomMessageId = $this->request->param('chatroomMessageId', 0);
$sendStatus = $this->request->param('sendStatus', null);
$wechatTime = $this->request->param('wechatTime', 0);
if ($sendStatus === null) {
return ResponseHelper::error('sendStatus不能为空');
}
if (empty($friendMessageId) && empty($chatroomMessageId)) {
return ResponseHelper::error('friendMessageId或chatroomMessageId至少提供一个');
}
$messageId = $friendMessageId ?: $chatroomMessageId;
$update = [
'sendStatus' => (int)$sendStatus,
];
if (!empty($wechatTime)) {
$update['wechatTime'] = strlen((string)$wechatTime) > 10
? intval($wechatTime / 1000)
: (int)$wechatTime;
}
$affected = WechatMessageModel::where('id', $messageId)->update($update);
if ($affected === false) {
return ResponseHelper::error('更新消息状态失败');
}
if ($affected === 0) {
return ResponseHelper::error('消息不存在');
}
$msg = '更新消息状态成功';
break;
}
return ResponseHelper::success('',$msg,$codee);
}