zizi
c42135bf6b
fix(trade,ad): M4 支付 P1/P2 加固(对抗审计 opus 一轮收尾)——mock 卡单兜底 + ad 回调铸币面
- P1-1 mock 崩溃卡单兜底:MockPayoutClient.queryTerminalStatus 由默认 UNKNOWN→返 SUCCESS(同步直通已发起即成功),让 compensateStuckPayouts 能恢复"initiatePayout 后回调前进程崩溃"致 status=1 卡死的提现单(frozen 不再永久锁死)
- P2-2 ad 回调空 secret 铸币面:CallbackAdProvider 空 sign-secret 由"直通 return true"改"默认拒绝 return false",新增 ad.callback.sandbox-passthrough 显式开关(仅开时空 secret 桩直通,生产严禁开+注释固化);堵死 @PermitAll 公网端点伪造回调铸广告收入入台账
- P1-2 setSql 拼接:AccountMapper 加注释固化"金额必须服务端校验过的 Long、严禁字符串透传"(预防性,不改逻辑)
- 单测:MockPayoutClientTest 新建 + CallbackAdProviderTest(空secret拒绝/passthrough放行)+ PayoutClientFactoryTest 断言更新;mini ad 40 测 + trade 73 测全绿(主 agent 自跑、逮修 opus 截断留下的 2 处旧断言)