plugins/plugins/union_pay/internal/po/po.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
}