feat(M08-B): 接入保洁微信转账适配器
This commit is contained in:
@@ -50,6 +50,14 @@
|
||||
- 新增 `POST /admin-api/cleaning/settlements/:settlementId/payout-failure`,仅允许对 `CONFIRMED` 结算单记录发放失败原因,保留 `CONFIRMED` 状态,支持修复外部付款后重试。
|
||||
- 结算单查询返回新增发放字段,管理端后续可以直接展示发放状态、渠道流水和失败原因。
|
||||
|
||||
## 2026-06-27 微信转账适配增量
|
||||
|
||||
- `WechatPayClient` 新增微信支付商家转账请求能力,按商户转账单号、转账场景、openid、金额、备注、通知地址和场景报备信息发起 `POST /v3/fund-app/mch-transfer/transfer-bills`,并解析微信转账单号、状态、失败原因和 `package_info`。
|
||||
- 新增 `CleaningPayoutService`,从结算单解析租户、门店、保洁员、金额和状态,复用门店/全局微信收款账户与环境凭据,校验商户号一致、收款账户已授权、保洁员存在微信 openid,再执行真实微信转账或测试 Mock。
|
||||
- 新增 `QIPAI_CLEANING_PAYOUT_MOCK_ENABLED`,仅非生产环境允许 Mock 发放;生产环境不会因为误配打开 Mock。
|
||||
- 新增 `2026062729_m08b_cleaning_transfer_state` 迁移,为保洁结算单增加 `payout_state` 和 `payout_package_info`,记录 `SUCCESS`、`FAIL`、`WAIT_USER_CONFIRM`、`PROCESSING` 等微信转账中间态。
|
||||
- 新增 `POST /admin-api/cleaning/settlements/:settlementId/wechat-transfer`,管理员可对 `CONFIRMED` 结算单发起微信转账;成功直接落 `PAID`,失败记录失败原因,待用户确认/处理中则保留 `CONFIRMED` 并写入中间态和微信 package 信息,便于后续查询或回调闭环。
|
||||
|
||||
## 验收结果
|
||||
|
||||
- `npm run build`(`backend/`):PASS。
|
||||
@@ -73,14 +81,22 @@
|
||||
- 发放闭环增量后 `node tests/migration-contract.test.mjs`:PASS。
|
||||
- 发放闭环增量后 `node tests/migration-runner.test.mjs`:PASS。
|
||||
- 发放闭环增量后 `node tests/cleaning-route.test.mjs`:PASS,覆盖结算发放成功和发放失败记录路由。
|
||||
- 微信转账适配增量后 `npm run build`(`backend/`):PASS。
|
||||
- 微信转账适配增量后 `node tests/wechat-pay.test.mjs`:PASS,覆盖商家转账请求签名与载荷。
|
||||
- 微信转账适配增量后 `node tests/cleaning-payout-service.test.mjs`:PASS,覆盖真实 API 成功、失败、待确认和 Mock 门禁。
|
||||
- 微信转账适配增量后 `node tests/cleaning-route.test.mjs`:PASS,覆盖微信转账路由。
|
||||
- 微信转账适配增量后 `node tests/migration-contract.test.mjs`:PASS。
|
||||
- 微信转账适配增量后 `node tests/migration-runner.test.mjs`:PASS。
|
||||
- 微信转账适配增量后 `node scripts/check-miniapp-m08-a.mjs`:PASS。
|
||||
- 微信转账适配增量后 `npm test`(`backend/`):PASS。
|
||||
|
||||
## 状态
|
||||
|
||||
M08-B 保持 `PARTIAL`。当前已完成保洁端任务大厅、我的任务、接单、开始、照片上传、提交验收、驳回补做、订单结束自动建任务、统计、管理员任务查询、指派、验收、驳回、超时回收、多人协作分账、待结算候选、正式结算单生成、确认、发放成功标记和发放失败记录基础工程闭环;真实微信零钱/企业付款适配器接入和后台/小程序管理界面仍待继续。M08-A 的真机合法域名、真实微信支付和实物开门验证按外部条件阻塞保留,不阻断 M08-B 工程推进。
|
||||
M08-B 保持 `PARTIAL`。当前已完成保洁端任务大厅、我的任务、接单、开始、照片上传、提交验收、驳回补做、订单结束自动建任务、统计、管理员任务查询、指派、验收、驳回、超时回收、多人协作分账、待结算候选、正式结算单生成、确认、发放成功标记、发放失败记录、微信商家转账 API 适配、转账中间态落库和非生产 Mock 门禁;微信转账回调/轮询闭环、真实商户场景报备联调和后台/小程序管理界面仍待继续。M08-A 的真机合法域名、真实微信支付和实物开门验证按外部条件阻塞保留,不阻断 M08-B 工程推进。
|
||||
|
||||
## 提交
|
||||
|
||||
- 工程提交:`03496d7`
|
||||
- 工程提交:`M08-B微信转账适配增量`
|
||||
- 远端校验:待本轮 push 后执行 `HEAD == origin/main`。
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user