main: 优化消息处理逻辑与 Redis 发布

- 调整消息解析流程,支持 JSON 解码与模型实例化
- 增加 `appendMessage` 方法的保存控制参数
- 修复因保存控制导致的重复发布问题
- 优化 Redis 发布逻辑,支持消息内容推送
- 更新注释与待优化标记,提升代码可读性
This commit is contained in:
2025-12-19 12:53:53 +08:00
parent 8c4ad80dab
commit dcbd0338e6
3 changed files with 14 additions and 7 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Http\Resources\MessageResource;
use App\Models\Message;
use App\Services\ChatService;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
@@ -72,7 +73,8 @@ class ChatSessionSseController extends Controller
return;
}
$msg = $this->service->getMessage($sessionId, $payload);
$msg = json_decode($payload, true, 512, JSON_THROW_ON_ERROR);
$msg = new Message($msg);
if ($msg && $msg->seq > $lastSentSeq) {
if ($msg->seq > $lastSentSeq + 1) {
$this->sendBacklog($sessionId, $lastSentSeq, $limit);