Files
mpay_v2_webman/app/queue/redis/README.md
技术老胡 fd1f53f2ee feat: 完善支付通道和收款监听链路
新增 ChannelNotifyPayloadInterface 等支付插件通知契约,规范 pay_no 定位和插件返回校验。

新增微信、支付宝、收钱吧、Postar 个人收款插件适配,支持余额识别与备注识别。

新增 receipt-watcher 后端进程、Redis 队列 job 和平台事件监听,覆盖收款流水通知、商户通知、退款派发、转账派发与清算完成。

补齐个人收款监听相关系统配置、仓储、服务费冻结明细、订单后台操作和通道测试能力。

重构支付单创建、回调、费用、风控、结算和通道统计链路,统一状态流转与幂等处理。
2026-05-11 16:28:48 +08:00

34 lines
1.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Redis Consumer 目录说明
本目录只放会被 `webman/redis-queue` 扫描的正式 Redis 队列 Consumer。
当前配置位于 `config/plugin/webman/redis-queue/process.php`,其中 `consumer_dir` 指向本目录。队列进程启动时会递归扫描本目录下的 PHP 文件,只要类实现了 `Webman\RedisQueue\Consumer`,就会被实例化并订阅队列。
## Consumer 职责
Consumer 应保持很薄,只负责:
- 声明队列名。
- 声明对应 Job 类。
- 适配 Redis 队列框架。
队列名统一从 `app\common\constant\PaymentQueueConstant` 引用,避免生产者和消费者各自维护字符串。
业务处理应放在 `app/queue/job` 下的 Job 类中。
## 禁止放入
- 抽象基类。
- 示例 Consumer。
- 不希望生产环境订阅的临时测试类。
- 复杂业务逻辑。
这些文件可能被队列进程扫描并误订阅。
## 新增任务约定
1. 先在 `app/common/constant/PaymentQueueConstant.php` 登记队列名。
2. 再在 `app/queue/job` 新增业务 Job。
3. 最后在本目录新增 Consumer继承 `app\queue\support\AbstractRedisConsumer`
4. Consumer 只设置 `$queue`,并通过 `jobClass()` 返回对应 Job 类名。