ntf.go 631 B

123456789101112131415161718192021222324252627282930313233
  1. package mq
  2. import (
  3. "errors"
  4. "mtp20access/client"
  5. "mtp20access/model/mq/request"
  6. "mtp20access/rabbitmq"
  7. "github.com/gin-gonic/gin"
  8. )
  9. // SendNtfMQ 向总线发送通知类信息
  10. func SendNtfMQ(c *gin.Context, req *request.MQNtfReq) (err error) {
  11. // 将请求的数据转换成总线使用的Protobuf
  12. bytes, err := req.GetProtoBytes()
  13. if err != nil {
  14. return
  15. }
  16. if bytes == nil {
  17. err = errors.New("请求信息序列化失败")
  18. return
  19. }
  20. // 向总线发送业务信息
  21. packet := &client.MQPacket{
  22. FunCode: req.FunCode,
  23. SessionId: 0,
  24. Data: bytes,
  25. }
  26. go rabbitmq.Publish(req.Topic, packet)
  27. return
  28. }