Browse Source

debug

master v0.2.6
guzeng 2 years ago
parent
commit
95ea9b3433
4 changed files with 102 additions and 29 deletions
  1. +37
    -7
      data.go
  2. +3
    -2
      go.mod
  3. +49
    -14
      supplier.pb.go
  4. +13
    -6
      supplier.proto

+ 37
- 7
data.go View File

@ -10,7 +10,7 @@ import (
"github.com/golang/protobuf/proto"
)
func SetResData(data interface{}, res *Params) {
func SetResData(data interface{}, res *Response) {
res_data_json, err := json.Marshal(data)
if err == nil {
@ -27,7 +27,7 @@ func SetResData(data interface{}, res *Params) {
}
func SetReqData(arg interface{}) (*Params, error) {
func SetReqData(arg interface{}) (*Request, error) {
data_json, err := json.Marshal(arg)
if err != nil {
return nil, err
@ -41,16 +41,16 @@ func SetReqData(arg interface{}) (*Params, error) {
sign := Sign(encryData, now)
return &Params{proto.String(encryData), proto.String(now), proto.String(sign), nil}, nil
return &Request{proto.String(encryData), proto.String(now), proto.String(sign), nil}, nil
}
func GetData(param *Params) (string, error) {
res_data := param.GetData()
func GetReqData(req *Request) (string, error) {
res_data := req.GetData()
if res_data != "" {
time_int64, err := strconv.ParseInt(param.GetTime(), 10, 64)
time_int64, err := strconv.ParseInt(req.GetTime(), 10, 64)
if err != nil {
return "", err
}
@ -62,7 +62,37 @@ func GetData(param *Params) (string, error) {
return "", errors.New("返回时间错误")
}
check_sign := CheckSign(param.GetSign(), res_data, param.GetTime())
check_sign := CheckSign(req.GetSign(), res_data, req.GetTime())
if !check_sign {
return "", errors.New("返回数据签名错误")
}
//解密
return crypter.DesDe(res_data, DES_KEY), nil
}
return "", nil
}
func GetResData(res *Response) (string, error) {
res_data := res.GetData()
if res_data != "" {
time_int64, err := strconv.ParseInt(res.GetTime(), 10, 64)
if err != nil {
return "", err
}
now_int64 := time.Now().Unix()
if now_int64-time_int64 > 10 || time_int64-now_int64 > 10 {
//时间误差前后10秒,返回
return "", errors.New("返回时间错误")
}
check_sign := CheckSign(res.GetSign(), res_data, res.GetTime())
if !check_sign {
return "", errors.New("返回数据签名错误")
}


+ 3
- 2
go.mod View File

@ -4,8 +4,9 @@ go 1.14
require (
git.tetele.net/tgo/conf v0.34.1 // indirect
git.tetele.net/tgo/crypter v0.2.2 // indirect
github.com/chai2010/protorpc v1.1.3 // indirect
git.tetele.net/tgo/crypter v0.2.2
github.com/chai2010/protorpc v1.1.3
github.com/golang/protobuf v1.0.0
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
)

+ 49
- 14
supplier.pb.go View File

@ -9,7 +9,8 @@ It is generated from these files:
supplier.proto
It has these top-level messages:
Params
Request
Response
*/
package supplierrpc
@ -27,32 +28,66 @@ import protorpc "github.com/chai2010/protorpc"
var _ = proto.Marshal
var _ = math.Inf
type Params struct {
// 配置信息请求结构
type Request struct {
Data *string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
Time *string `protobuf:"bytes,2,opt,name=time" json:"time,omitempty"`
Sign *string `protobuf:"bytes,3,opt,name=sign" json:"sign,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Params) Reset() { *m = Params{} }
func (m *Params) String() string { return proto.CompactTextString(m) }
func (*Params) ProtoMessage() {}
func (m *Request) Reset() { *m = Request{} }
func (m *Request) String() string { return proto.CompactTextString(m) }
func (*Request) ProtoMessage() {}
func (m *Params) GetData() string {
func (m *Request) GetData() string {
if m != nil && m.Data != nil {
return *m.Data
}
return ""
}
func (m *Params) GetTime() string {
func (m *Request) GetTime() string {
if m != nil && m.Time != nil {
return *m.Time
}
return ""
}
func (m *Params) GetSign() string {
func (m *Request) GetSign() string {
if m != nil && m.Sign != nil {
return *m.Sign
}
return ""
}
// 配置信息响应结构
type Response struct {
Data *string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
Time *string `protobuf:"bytes,2,opt,name=time" json:"time,omitempty"`
Sign *string `protobuf:"bytes,3,opt,name=sign" json:"sign,omitempty"`
XXX_unrecognized []byte `json:"-"`
}
func (m *Response) Reset() { *m = Response{} }
func (m *Response) String() string { return proto.CompactTextString(m) }
func (*Response) ProtoMessage() {}
func (m *Response) GetData() string {
if m != nil && m.Data != nil {
return *m.Data
}
return ""
}
func (m *Response) GetTime() string {
if m != nil && m.Time != nil {
return *m.Time
}
return ""
}
func (m *Response) GetSign() string {
if m != nil && m.Sign != nil {
return *m.Sign
}
@ -63,9 +98,9 @@ func init() {
}
type SupplierService interface {
Get(in *Params, out *Params) error
GetByUuid(in *Params, out *Params) error
IsOpen(in *Params, out *Params) error
Get(in *Request, out *Response) error
GetByUuid(in *Request, out *Response) error
IsOpen(in *Request, out *Response) error
}
// AcceptSupplierServiceClient accepts connections on the listener and serves requests
@ -137,13 +172,13 @@ func NewSupplierServiceClient(conn io.ReadWriteCloser) (*SupplierServiceClient,
return &SupplierServiceClient{c}, c
}
func (c *SupplierServiceClient) Get(in *Params, out *Params) error {
func (c *SupplierServiceClient) Get(in *Request, out *Response) error {
return c.Call("SupplierService.Get", in, out)
}
func (c *SupplierServiceClient) GetByUuid(in *Params, out *Params) error {
func (c *SupplierServiceClient) GetByUuid(in *Request, out *Response) error {
return c.Call("SupplierService.GetByUuid", in, out)
}
func (c *SupplierServiceClient) IsOpen(in *Params, out *Params) error {
func (c *SupplierServiceClient) IsOpen(in *Request, out *Response) error {
return c.Call("SupplierService.IsOpen", in, out)
}


+ 13
- 6
supplier.proto View File

@ -1,16 +1,23 @@
syntax = "proto3";
package supplierrpc;
message Params {
//
message Request {
string data = 1;
string time = 2;
string sign = 3;
}
//
message Response {
string data = 1;
string time = 2;
string sign = 3;
}
// rpc方法
service SupplierService {
rpc Get (Params) returns (Params); // 使id查询
rpc GetByUuid (Params) returns (Params); // 使uuid查询
rpc IsOpen (Params) returns (Params); //
rpc Get (Request) returns (Response); // 使id查询
rpc GetByUuid (Request) returns (Response); // 使uuid查询
rpc IsOpen (Request) returns (Response); //
}

Loading…
Cancel
Save