feat(split): 新增分账订单线下结案功能

- 添加 SplitCloseService 类用于处理订单结案逻辑
- 实现订单结案状态检查和标记功能
- 在汇付分账重试逻辑中加入结案状态验证,防止已结案订单继续重试
- 更新分账手动服务,添加结案操作类型
- 扩展钱包结算类,增加结案相关诊断方法
- 修改测试脚本,支持批量标记订单为已结案状态
- 添加数据库升级脚本,增加结案相关字段和菜单权限
```
这个提交包含在:
可乐加冰
2026-10-24 21:18:48 +08:00
父节点 557d3e69ba
当前提交 6a654070ed
共有 16 个文件被更改,包括 1314 次插入 和 96 次删除

查看文件

@@ -133,6 +133,13 @@ class SplitExecutor
return false;
}
if (intval($splitOrder['status']) === SplitCloseService::STATUS_CLOSED) {
throw new \RuntimeException('该订单已标记线下结案,不可重试');
}
if ((new SplitCloseService())->isClosed((int) $splitOrder['order_id'])) {
throw new \RuntimeException('该订单已标记线下结案,不可重试');
}
if (($splitOrder['channel'] ?? 'wechat') === 'huifu' && class_exists('\\addons\\shopro_huifu\\library\\HuifuSplitService')) {
return (new \addons\shopro_huifu\library\HuifuSplitService())->retry($splitOrderId);
}