fix: 修复 GET 接口返回 toString 而非 JSON 的关键缺陷 + 测试库联调修复 + 日志实时推送

关键修复:
- 引入 solon-serialization-snack3 渲染插件:无 Accept 头的 GET 请求
  之前返回对象 toString(非法响应),现统一输出标准 JSON
- saveOrder/addUnit:Solon @Body Map 泛型反序列化为空,改收原始
  String + snack3 手动解析
- Oracle CLOB 直接进 Map 显示为对象句柄:bsm XML 包 DBMS_LOB.SUBSTR
- SqlServer 中文丢失:去掉 cast(NVARCHAR as varchar(8000)) 有损转换;
  XML 中文字面量加 N 前缀(状态字典/完成标记)
- /api/admin/log/tail 解码异常:历史日志混 GBK 内容,改容错解码

新增:
- LogStreamManager:日志实时推送(LOG_TAIL_CTRL 控制 + LOG_BATCH
  增量上报,多文件并行、游标推进、滚动重置检测)
- mock_b_server.py:最小 WS 模拟 B 端(联调工具)

实测(真实 Oracle/SqlServer 测试库):
- 三方言(bsm/nx/ya)20 个业务接口全部通过
- saveOrder 存储过程:PE00100008 / NX00000003 / YA00000002
- 中文入库/查询/汇总全链路正常
- 日志流端到端:B 下发命令 → Agent 增量推送 → B 收到 LOG_BATCH

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-08-21 13:59:54 +08:00
co-authored by Claude
parent 535162e63a
commit 545fa38789
9 changed files with 180 additions and 32 deletions
+6
View File
@@ -147,6 +147,12 @@
<artifactId>snack3</artifactId>
</dependency>
<!-- Solon JSON 渲染插件(HTTP 响应自动序列化为 JSON) -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-serialization-snack3</artifactId>
</dependency>
<!-- ========== 测试 ========== -->
<dependency>
<groupId>org.jetbrains.kotlin</groupId>