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

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

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

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

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

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 类名。