rabbitmq rpc 消息格式及调用封装
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
4.7 KiB

  1. package rabbitmqrpc
  2. const DES_KEY = "mqbitrab"
  3. type MsgBody struct {
  4. Exchange string
  5. Key string
  6. Data string
  7. }
  8. type DelayMsgBody struct {
  9. Exchange string
  10. Key string
  11. Data string
  12. Delay int64
  13. }
  14. type MsgSend struct {
  15. Result string
  16. }
  17. //订单路由
  18. const ORDER_EXCHANGE string = "ex_order"
  19. //已创建订单route key
  20. const ORDER_CREATED_KEY string = "created"
  21. //订单已创建队列,订单服务用
  22. const ORDER_CREATED_QUEUE = "order_created_queue"
  23. //已创建订单队列,串货服务用
  24. const CHANNEL_ORDER_CREATED_QUEUE = "channel_order_created_queue"
  25. //已支付订单route key
  26. const ORDER_PAYED_KEY string = "payed"
  27. //订单已支付队列,订单服务用
  28. const ORDER_PAYED_QUEUE = "order_payed_queue"
  29. //订单已支付队列,串货服务用
  30. const CHANNEL_ORDER_PAYED_QUEUE = "channel_order_payed_queue"
  31. //订单已支付队列,配送服务用
  32. const DELIVERY_ORDER_PAYED_QUEUE = "delivery_order_payed_queue"
  33. //订单已支付队列,打印服务用
  34. const PRINT_ORDER_PAYED_QUEUE = "print_order_payed_queue"
  35. //订单状态更新route key
  36. const ORDER_STATUS_CHANGE_KEY string = "status_change"
  37. //订单状态更新队列,订单服务用
  38. const ORDER_STATUS_UPDATE_QUEUE = "order_status_update_queue"
  39. //订单状态更新,串货服务用
  40. const CHANNEL_ORDER_STATUS_CHANGE_QUEUE = "channel_order_update_status"
  41. //订单取消route key
  42. const ORDER_CANCELED_KEY string = "canceled"
  43. //订单取消队列,订单服务用
  44. const ORDER_CANCELED_QUEUE = "order_canceled_queue"
  45. //订单取消队列,串货服务用
  46. const CHANNEL_ORDER_CANCELED_QUEUE = "channel_order_canceled_queue"
  47. //订单发货route key
  48. const ORDER_DELIVERED_KEY string = "delivered"
  49. //订单发货队列,订单服务用
  50. const ORDER_DELIVERED_QUEUE = "order_delivered_queue"
  51. //订单发货队列,串货服务用
  52. const CHANNEL_ORDER_DELIVERED_QUEUE = "channel_order_delivered_queue"
  53. //订单收货route key
  54. const ORDER_RECEIVED_KEY string = "received"
  55. //订单取消队列,订单服务用
  56. const ORDER_RECEIVED_QUEUE = "order_received_queue"
  57. //订单取消队列,串货服务用
  58. const CHANNEL_ORDER_RECEIVED_QUEUE = "channel_order_received_queue"
  59. //订单退款route key
  60. const ORDER_REFUNDED_KEY string = "refunded"
  61. //订单退款队列,订单服务用
  62. const ORDER_REFUNDED_QUEUE = "order_refunded_queue"
  63. //订单退款队列,串货服务用
  64. const CHANNEL_ORDER_REFUNDED_QUEUE = "channel_order_refunded_queue"
  65. //订单完成route key
  66. const ORDER_FINISHED_KEY string = "finished"
  67. //订单退款队列,订单服务用
  68. const ORDER_FINISHED_QUEUE = "order_finished_queue"
  69. //订单退款队列,串货服务用
  70. const CHANNEL_ORDER_FINISHED_QUEUE = "channel_order_finished_queue"
  71. //订单等待创建key,订单服务用
  72. const ORDER_ADD_KEY = "add"
  73. //订单等待创建队列,订单服务用
  74. const ORDER_ADD_QUEUE = "order_add_queue"
  75. //订单核销key
  76. const ORDER_VERIFY_KEY = "verify"
  77. //订单核销打印队列,打印服务用
  78. const PRINT_ORDER_VERIFY_QUEUE = "print_order_verify_queue"
  79. //订单延迟队列路由
  80. const ORDER_DELAY_EXCHANGE string = "ex_order_delay"
  81. //未支付订单过期自动取消key
  82. const ORDER_AUTO_CANCEL_KEY string = "order_auto_cancel"
  83. //未支付订单过期自动取消队列
  84. const ORDER_AUTO_CANCEL_QUEUE string = "order_auto_cancel_queue"
  85. //未支付订单过期自动取消队列,串货服务用
  86. const CHANNEL_ORDER_AUTO_CANCEL_QUEUE string = "channel_order_auto_cancel_queue"
  87. //订单发货后到期自动收货key
  88. const ORDER_AUTO_RECEIVE_KEY string = "order_auto_received"
  89. //订单发货后到期自动收货队列
  90. const ORDER_AUTO_RECEIVE_QUEUE string = "order_auto_receive_queue"
  91. //订单自动收货队列,串货服务用
  92. const CHANNEL_ORDER_AUTO_RECEIVE_QUEUE string = "channel_order_auto_receive_queue"
  93. //订单申请退款消息key
  94. const ORDER_ASK_FOR_REFUND_KEY string = "order_ask_for_refund"
  95. //订单申请退款消息队列
  96. const ORDER_ASK_FOR_REFUND_QUEUE string = "order_ask_for_refund_queue"
  97. //订单申请退款队列,串货服务用
  98. const CHANNEL_ORDER_ASK_FOR_REFUND_QUEUE string = "channel_order_ask_for_refund_queue"
  99. // --串货--
  100. //串货订单路由
  101. const CHANNEL_ORDER_EXCHANGE string = "ex_channel_order"
  102. //串货订单请求支付route key
  103. const CHANNEL_ORDER_ASKPAY_KEY = "channel_order_askpay"
  104. //订单请求支付队列,串货服务用
  105. const CHANNEL_ORDER_ASKPAY_QUEUE = "channel_order_askpay_queue"
  106. func rpc_server_conn(url ...string) (*RabbitmqServiceClient, error) {
  107. var rpc_url string
  108. if len(url) > 0 && url[0] != "" {
  109. rpc_url = url[0]
  110. } else if conf.RABBITMQ_RPC_URL != "" {
  111. rpc_url = conf.RABBITMQ_RPC_URL
  112. } else {
  113. rpc_url = "127.0.0.1:" + conf.RABBITMQ_RPC_PORT
  114. }
  115. conn, _, err := DialRabbitmqService("tcp", rpc_url)
  116. if err != nil {
  117. return nil, err
  118. }
  119. return conn, nil
  120. }