zhou.xiaoning 3 年 前
コミット
a892949992
1 ファイル変更158 行追加25 行削除
  1. 158 25
      model/mq/request/mq.go

+ 158 - 25
model/mq/request/mq.go

@@ -6,6 +6,8 @@ import (
 	"mtp20access/global"
 	"mtp20access/packet"
 	"mtp20access/res/pb"
+	"regexp"
+	"strings"
 
 	"github.com/golang/protobuf/jsonpb"
 	"github.com/golang/protobuf/proto"
@@ -49,7 +51,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -62,7 +69,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -75,7 +87,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -88,7 +105,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -101,7 +123,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -114,7 +141,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -127,7 +159,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -140,7 +177,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -153,7 +195,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -166,7 +213,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -179,7 +231,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -192,7 +249,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -205,7 +267,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -218,7 +285,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -231,7 +303,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -240,11 +317,22 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 			bytes = &b
 		}
 	case global.GoodsFavoriteOperateReq:
+		reg, _ := regexp.Compile(`"[0-9]{19}"`)
+		all := reg.FindAll([]byte(data), -1)
+		for _, i := range all {
+			r := strings.Replace(string(i), "\"", "", -1)
+			data = strings.Replace(data, string(i), r, -1)
+		}
 		m := pb.GoodsFavoriteOperateReq{}
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -257,7 +345,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -270,7 +363,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -283,7 +381,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -296,7 +399,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -309,7 +417,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -322,7 +435,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -335,7 +453,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -348,7 +471,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")
@@ -361,7 +489,12 @@ func (r *MQBodyReq) GetProtoBytes(serialNumber *uint32) (bytes *[]byte, err erro
 		if err = r.reflect(data, &m); err != nil {
 			return
 		}
-		m.Header.RequestID = serialNumber
+		if m.Header != nil {
+			m.Header.RequestID = serialNumber
+		} else {
+			err = errors.New("请求信息序列化失败")
+			return
+		}
 		if b, e := proto.Marshal(&m); e != nil {
 			global.M2A_LOG.Error(e.Error(), zap.Error(e))
 			err = errors.New("请求信息序列化失败")