adder.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. // Code generated by goctl. DO NOT EDIT!
  2. // Source: add.proto
  3. //go:generate mockgen -destination ./adder_mock.go -package adder -source $GOFILE
  4. package adder
  5. import (
  6. "context"
  7. add "bookstore/rpc/add/pb"
  8. "github.com/tal-tech/go-zero/core/jsonx"
  9. "github.com/tal-tech/go-zero/zrpc"
  10. )
  11. type (
  12. Adder interface {
  13. Add(ctx context.Context, in *AddReq) (*AddResp, error)
  14. }
  15. defaultAdder struct {
  16. cli zrpc.Client
  17. }
  18. )
  19. func NewAdder(cli zrpc.Client) Adder {
  20. return &defaultAdder{
  21. cli: cli,
  22. }
  23. }
  24. func (m *defaultAdder) Add(ctx context.Context, in *AddReq) (*AddResp, error) {
  25. var request add.AddReq
  26. bts, err := jsonx.Marshal(in)
  27. if err != nil {
  28. return nil, errJsonConvert
  29. }
  30. err = jsonx.Unmarshal(bts, &request)
  31. if err != nil {
  32. return nil, errJsonConvert
  33. }
  34. client := add.NewAdderClient(m.cli.Conn())
  35. resp, err := client.Add(ctx, &request)
  36. if err != nil {
  37. return nil, err
  38. }
  39. var ret AddResp
  40. bts, err = jsonx.Marshal(resp)
  41. if err != nil {
  42. return nil, errJsonConvert
  43. }
  44. err = jsonx.Unmarshal(bts, &ret)
  45. if err != nil {
  46. return nil, errJsonConvert
  47. }
  48. return &ret, nil
  49. }