77 lines
1.4 KiB
Go
77 lines
1.4 KiB
Go
package po
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"github.com/go-playground/validator/v10"
|
|
)
|
|
|
|
type Req interface {
|
|
Validate() error
|
|
GetReId() string
|
|
ToJson() []byte
|
|
}
|
|
|
|
var _ Req = (*OrderReq)(nil)
|
|
var _ Req = (*QueryReq)(nil)
|
|
var _ Req = (*Notify)(nil)
|
|
|
|
func (req *OrderReq) Validate() error {
|
|
err := validator.New().Struct(req)
|
|
if err != nil {
|
|
for _, err = range err.(validator.ValidationErrors) {
|
|
return fmt.Errorf("参数有误:" + err.Error())
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (req *OrderReq) GetReId() string {
|
|
return req.Qid
|
|
}
|
|
|
|
func (req *OrderReq) ToJson() []byte {
|
|
b, _ := json.Marshal(req)
|
|
return b
|
|
}
|
|
|
|
func (req *QueryReq) Validate() error {
|
|
err := validator.New().Struct(req)
|
|
if err != nil {
|
|
for _, err = range err.(validator.ValidationErrors) {
|
|
return fmt.Errorf("参数有误:" + err.Error())
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (req *QueryReq) GetReId() string {
|
|
return req.TraceId
|
|
}
|
|
|
|
func (req *QueryReq) ToJson() []byte {
|
|
b, _ := json.Marshal(req)
|
|
return b
|
|
}
|
|
|
|
func (req *Notify) Validate() error {
|
|
err := validator.New().Struct(req)
|
|
if err != nil {
|
|
for _, err = range err.(validator.ValidationErrors) {
|
|
return fmt.Errorf("参数有误:" + err.Error())
|
|
}
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (req *Notify) GetReId() string {
|
|
return req.Headers.ReqId
|
|
}
|
|
|
|
func (req *Notify) ToJson() []byte {
|
|
//kvRows := utils.SortStruct(req.Body)
|
|
//b, _ := json.Marshal(kvRows)
|
|
b, _ := json.Marshal(req.Body)
|
|
return b
|
|
}
|