RabbitMqEnum.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?php
  2. namespace common\enums;
  3. use common\enums\BaseEnum;
  4. class RabbitMqEnum extends BaseEnum
  5. {
  6. //队列
  7. const TASK_QUEUE = 'task_queue'; //多进程任务队列,消息推送,等耗时任务
  8. const CHAIN_QUEUE = 'chain_queue'; // 供应链任务队列
  9. const ORDER_QUEUE = 'order_queue'; //多进程任务队列,消息推送,等耗时任务
  10. const USER_WALLET_QUEUE = 'user_wallet_queue'; //用户钱包队列
  11. const DELAY_QUEUE = 'delay_queue'; //多进程任务队列,延时任务处理
  12. const DELAY_HANDLE_QUEUE = 'delay_handle_queue'; //延时任务处理
  13. const DELAY_RETRY_QUEUE = 'delay_retry_queue'; //延迟重试队列
  14. const LEVELUP_QUEUE = 'level_up_queue'; //升级队列,多进程任务队列,等耗时任务
  15. const CHANGE_RELATIONSHIP_QUEUE = 'change_relationship';// 修改关系链队列
  16. const GOODS_QUEUE = 'goods';// 编辑商品队列
  17. const GROUP_BUY_QUEUE = 'group_buy_queue'; //拼团队列
  18. const CENSUS_QUEUE = 'census_queue';
  19. const IMPORT_USER = 'import_user';
  20. const LUCKY_GROUP_QUEUE = 'lucky_group_queue'; //幸运拼团开队列
  21. const STATISTICS_QUEUE = 'statistics_queue'; //统计队列
  22. const UPLOAD_QUEUE = 'upload_queue'; //上传到第三方
  23. const CAKE_QUEUE = 'cake_queue';//蛋糕,电影任务队列
  24. const CAKE_ORDER_QUEUE = 'cake_order_queue';//蛋糕电影订单队列
  25. const CARD_COUPONS_QUEUE = 'card_coupons_queue';//卡券队列
  26. const QSC_QUEUE = 'qsc_queue';//千禧供应链
  27. const QSC_ORDER_QUEUE = 'qsc_order_queue';//千禧供应链
  28. const IMPORT_KAMI = 'import_kami';
  29. const LONG_DURATION_QUEUE = 'long_duration_queue';//长耗时队列
  30. // 因为订单队列消息处理时间过长,所以使用长队列(但是长队列有很多地方使用。所以添加只关于订单的长队列)
  31. const LONG_ORDER_QUEUE = 'long_order_queue';
  32. //交换机
  33. const EXCHANGE_TASK = 'task_exchange';
  34. const EXCHANGE_CHAIN = 'chain_exchange';
  35. const EXCHANGE_ORDER = 'order_exchange';
  36. const EXCHANGE_TASK_USER_WALLET = 'user_wallet_exchange';
  37. const EXCHANGE_DELAY = 'delay_handle_exchange';
  38. const EXCHANGE_DELAY_RETRY = 'delay_retry_exchange';
  39. const EXCHANGE_DELAY_RETRY_CACHE = 'delay_retry_cache_exchange';
  40. const EXCHANGE_DELAY_CACHE = 'delay_cache_exchange';
  41. const EXCHANGE_CAKE = 'cake_exchange';
  42. const EXCHANGE_CAKE_ORDER = 'cake_order_exchange';
  43. const EXCHANGE_CARD_COUPONS = 'card_coupons_exchange';
  44. const EXCHANGE_QSC = 'qsc_exchange'; // 千禧供应链
  45. const EXCHANGE_QSC_ORDER = 'qsc_order_exchange'; // 千禧供应链
  46. const EXCHANGE_TASK_CHANGE_RELATIONSHIP = 'change_relationship_exchange_task';
  47. const EXCHANGE_TASK_GOODS = 'goods_exchange_task';
  48. const EXCHANGE_TASK_GROUP_BUY = 'exchange_task_group_buy';//拼团
  49. const EXCHANGE_TASK_CENSUS = 'exchange_task_census';//数据统计
  50. const EXCHANGE_TASK_IMPORT_USER = 'exchange_import_user';//导入会员
  51. const EXCHANGE_TASK_LUCKY_GROUP = 'exchange_task_lucky_group';//幸运拼团
  52. const EXCHANGE_STATISTICS = 'exchange_statistics';//统计
  53. const EXCHANGE_UPLOAD = 'exchange_upload';//上传到第三方
  54. const EXCHANGE_TASK_IMPORT_KAMI = 'exchange_import_kami';//导入卡密
  55. const EXCHANGE_LONG_DURATION = 'exchange_long_duration';
  56. const EXCHANGE_LONG_ORDER = 'exchange_long_order'; // 订单长队列交换机
  57. //消息前缀
  58. const RABBITMQ_QUEUE_ID = 'rabbitmq_queue_id';
  59. const QUEUE_MESSAGE_KEY_PREFIX = 'rabbitmq_queue_content_';
  60. const DELAY_QUEUE_MESSAGE_KEY_PREFIX = 'rabbitmq_delay_queue_content_';
  61. const MAX_RETRY_NUM = 3; //消息最大重试次数
  62. // 用户资金服务执行结果前缀
  63. const USER_WALLET_RESUALT_KEY_PREFIX = 'user_wallet_result_';
  64. /**
  65. * @return array
  66. */
  67. public static function getMap(): array
  68. {
  69. return [
  70. self::TASK_QUEUE => '任务队列', //多进程任务队列,消息推送,等耗时任务,
  71. self::ORDER_QUEUE => '订单队列', //多进程任务队列,消息推送,等耗时任务,
  72. self::DELAY_QUEUE => '延时队列', //多进程任务队列,延时任务处理,
  73. self::LEVELUP_QUEUE => '异步升级', //升级队列,多进程任务队列,等耗时任务,
  74. self::DELAY_RETRY_QUEUE => '重试队列', //延迟重试队列,
  75. self::CHANGE_RELATIONSHIP_QUEUE => '改关系链',// 修改关系链队列,
  76. self::GOODS_QUEUE => '商品队列',// 编辑商品队列,
  77. self::USER_WALLET_QUEUE => '用户钱包队列', //用户钱包队列,
  78. self::EXCHANGE_TASK => 'task_exchange',
  79. self::EXCHANGE_ORDER => 'task_order_exchange',
  80. self::EXCHANGE_DELAY => 'delay_handle_exchange',
  81. self::EXCHANGE_DELAY_RETRY => 'delay_retry_exchange',
  82. self::EXCHANGE_DELAY_RETRY_CACHE => 'delay_retry_cache_exchange',
  83. self::EXCHANGE_TASK_CHANGE_RELATIONSHIP => 'change_relationship_exchange_task',
  84. self::EXCHANGE_TASK_GOODS => 'goods_exchange_task',
  85. self::EXCHANGE_TASK_USER_WALLET => 'user_wallet_exchange',
  86. self::RABBITMQ_QUEUE_ID => 'rabbitmq_queue_id',
  87. self::QUEUE_MESSAGE_KEY_PREFIX => 'rabbitmq_queue_content_',
  88. self::DELAY_QUEUE_MESSAGE_KEY_PREFIX => 'rabbitmq_delay_queue_content_',
  89. self::MAX_RETRY_NUM => 3, //消息最大重试次数,
  90. self::USER_WALLET_RESUALT_KEY_PREFIX => 'user_wallet_result_',
  91. ];
  92. }
  93. /**
  94. * 获取对接交换机
  95. * @Author:lun
  96. * @Date:2023-11-20 14:19
  97. * @Copyright:copyright(c)2023 广东七件事集团
  98. * @param $key
  99. * @return string[]
  100. */
  101. public static function getConsumeType($key = 'task')
  102. {
  103. $data = [
  104. 'task' => [
  105. 'exchange' => RabbitMqEnum::EXCHANGE_TASK,
  106. 'queue_name' => RabbitMqEnum::TASK_QUEUE,
  107. ],
  108. 'order' => [
  109. 'exchange' => RabbitMqEnum::EXCHANGE_ORDER,
  110. 'queue_name' => RabbitMqEnum::ORDER_QUEUE,
  111. ],
  112. 'task_user_wallet' => [
  113. 'exchange' => RabbitMqEnum::EXCHANGE_TASK_USER_WALLET,
  114. 'queue_name' => RabbitMqEnum::USER_WALLET_QUEUE,
  115. ],
  116. 'task_change_relationship' => [
  117. 'exchange' => RabbitMqEnum::EXCHANGE_TASK_CHANGE_RELATIONSHIP,
  118. 'queue_name' => RabbitMqEnum::CHANGE_RELATIONSHIP_QUEUE,
  119. ],
  120. 'delay_retry' => [
  121. 'exchange' => RabbitMqEnum::EXCHANGE_DELAY_RETRY,
  122. 'queue_name' => RabbitMqEnum::DELAY_RETRY_QUEUE,
  123. ],
  124. 'task_group_buy' => [
  125. 'exchange' => RabbitMqEnum::EXCHANGE_TASK_GROUP_BUY,
  126. 'queue_name' => RabbitMqEnum::GROUP_BUY_QUEUE,
  127. ],
  128. 'task_census' => [
  129. 'exchange' => RabbitMqEnum::EXCHANGE_TASK_CENSUS,
  130. 'queue_name' => RabbitMqEnum::CENSUS_QUEUE,
  131. ],
  132. 'task_lucky_group' => [
  133. 'exchange' => RabbitMqEnum::EXCHANGE_TASK_LUCKY_GROUP,
  134. 'queue_name' => RabbitMqEnum::LUCKY_GROUP_QUEUE,
  135. ],
  136. 'delay' => [
  137. 'exchange' => RabbitMqEnum::EXCHANGE_DELAY,
  138. 'queue_name' => RabbitMqEnum::DELAY_HANDLE_QUEUE,
  139. ],
  140. 'statistics' => [
  141. 'exchange' => RabbitMqEnum::EXCHANGE_STATISTICS,
  142. 'queue_name' => RabbitMqEnum::STATISTICS_QUEUE,
  143. ],
  144. 'task_import_user' => [
  145. 'exchange' => RabbitMqEnum::EXCHANGE_TASK_IMPORT_USER,
  146. 'queue_name' => RabbitMqEnum::IMPORT_USER,
  147. ],
  148. 'chain' => [
  149. 'exchange' => RabbitMqEnum::EXCHANGE_CHAIN,
  150. 'queue_name' => RabbitMqEnum::CHAIN_QUEUE,
  151. ],
  152. 'upload' => [
  153. 'exchange' => RabbitMqEnum::EXCHANGE_UPLOAD,
  154. 'queue_name' => RabbitMqEnum::UPLOAD_QUEUE,
  155. ]
  156. ];
  157. return $data[$key];
  158. }
  159. }