文件
xionggeshop/addons/shopro_huifu/docs/diagnose-freeze-flow.sql
可乐加冰 73efa1a7eb ```
feat(shopro_huifu): 新增汇付冻结链路诊断命令

新增 DiagnoseFreezeFlow 控制台命令用于诊断小程序发货管理 +
汇付延时分账的冻结/解冻链路问题。该命令提供只读诊断功能,
包含以下检查项:
- 商城自动确认收货配置检查
- 汇付延时分账时机配置检查
- 微信交易合规插件状态检查
- 微信发货/确认同步统计
- 最近失败的微信同步记录
- 已发货但未成功上传物流信息的订单
- 已收货但未成功确认的订单
- 分账失败/待重试记录
- 分账时机与分销结算时机匹配性检查

同时添加了对应的 SQL 诊断脚本和命令注册。
```
2026-10-08 13:49:26 +08:00

44 行
1.7 KiB
SQL

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

-- 小程序发货 + 汇付冻结链路 · 只读诊断(表前缀默认 fa_)
SET NAMES utf8mb4;
SELECT '=== order 自动确认收货 ===' AS section;
SELECT value FROM fa_shopro_config WHERE name = 'order' LIMIT 1;
SELECT '=== 分账/延时分账 ===' AS section;
SELECT name, value FROM fa_shopro_split_config
WHERE name IN ('split_enable','split_mode','split_timing','delay_acct_enable','platform_huifu_id')
ORDER BY name;
SELECT '=== 微信交易合规 ===' AS section;
SELECT name, value FROM fa_shopro_wechat_trade_config WHERE name = 'wechat_trade_enable';
SELECT '=== 近30天 微信同步统计 ===' AS section;
SELECT sync_type, status, COUNT(*) cnt
FROM fa_shopro_wechat_trade_sync
WHERE createtime >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY))
GROUP BY sync_type, status;
SELECT '=== 近30天 已发货无 shipping success(前15单)===' AS section;
SELECT o.id, o.order_sn, o.pay_type
FROM fa_shopro_order o
INNER JOIN fa_shopro_order_item oi ON oi.order_id = o.id
LEFT JOIN fa_shopro_wechat_trade_sync ws
ON ws.order_id = o.id AND ws.sync_type = 'shipping' AND ws.status = 'success'
WHERE o.platform = 'wxMiniProgram'
AND o.pay_type IN ('wechat','huifu_wechat')
AND o.status > 0
AND o.createtime >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY))
AND oi.dispatch_status >= 1
AND ws.id IS NULL
GROUP BY o.id
ORDER BY o.id DESC
LIMIT 15;
SELECT '=== 近30天 分账失败/23000004(前15条)===' AS section;
SELECT id, order_sn, status, split_amount, LEFT(wx_result, 200) AS wx_result_snip
FROM fa_shopro_split_order
WHERE createtime >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY))
AND (status = 4 OR wx_result LIKE '%23000004%' OR wx_result LIKE '%FREEZE%')
ORDER BY id DESC
LIMIT 15;