12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package gm_services
- import (
- "encoding/json"
- "github.com/nats-io/nats.go"
- "github.com/sirupsen/logrus"
- )
- func HandleGMSubscribe(c *nats.Conn) {
- _, err := c.Subscribe("gm", func(message *nats.Msg) {
- // 消息回复
- reply := func(res interface{}) {
- marshal, err := json.Marshal(&res)
- if err != nil {
- logrus.Warnf("gm reply Marshal error. %v", err)
- return
- }
- if err = c.Publish(message.Reply, marshal); err != nil {
- logrus.Warnf("gm reply error. %v", err)
- return
- }
- }
- switch message.Header.Get("method") {
- case "RedeemGoodsIs": //兑换券码
- /*var request *msg.RedeemGoodsIs
- if err := json.Unmarshal(message.Data, &request); err != nil {
- logrus.Infof("RedeemGoodsIs json.Unmarshal error. %v", err)
- return
- }
- logrus.WithField("from", "RedeemGoodsIs").Infof("request:%+v", request)
- exchange, err := service.Cdk.Exchange(context.TODO(), request)
- if err != nil {
- logrus.WithField("from", "handlerRedeemGoodsIs Exchange err ").Warnln(err)
- }
- reply(&exchange)*/
- reply(nil)
- default:
- logrus.Warnf("gm messages are not bound to handle routes. method:%+v, data:%+v", message.Header.Get("method"), string(message.Data))
- return
- }
- })
- if err != nil {
- logrus.Fatalf("gm nsClient.Subscribe error. %v", err)
- }
- }
|