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.

174 lines
4.8 KiB

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