client.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package main
  2. import (
  3. "context"
  4. "dy-test/dyrpc/helper"
  5. "dy-test/dyrpc/services/prod"
  6. "fmt"
  7. "google.golang.org/grpc"
  8. "google.golang.org/protobuf/types/known/timestamppb"
  9. "log"
  10. "time"
  11. )
  12. const (
  13. certFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/client/client.pem"
  14. keyFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/client/client.key"
  15. caFile = "/Users/duyong/workspace/gotest/dyrpc/ssl/ca/ca.pem"
  16. )
  17. func main() {
  18. //creds, err := credentials.NewClientTLSFromFile("/Users/duyong/workspace/gotest/dyrpc/ssl/server/server.pem", "localhost")
  19. //if err != nil {
  20. // grpclog.Fatalf("Failed to create TLS credentials %v", err)
  21. //}
  22. conn, err := grpc.Dial(":8081", grpc.WithTransportCredentials(helper.GetCredentials(certFile, keyFile, caFile)))
  23. if err != nil {
  24. log.Fatalf("failed to dial: %v", err)
  25. }
  26. defer conn.Close()
  27. client := prod.NewProdServiceClient(conn)
  28. res, err := client.GetProdStock(context.Background(), &prod.ProdRequest{ProdId: 100, ProdArea: prod.ProdArea_C})
  29. if err != nil {
  30. log.Fatal(err)
  31. }
  32. fmt.Println(res.ProdStock)
  33. prodList, err := client.GetProdStocks(context.Background(), &prod.QueryProdStocks{
  34. PageNo: 1,
  35. PageSize: 10,
  36. })
  37. if err != nil {
  38. log.Fatal(err)
  39. }
  40. fmt.Println(prodList.ProdRes)
  41. prodInfo, err := client.GetProdInfo(context.Background(), &prod.ProdRequest{ProdId: 100, ProdArea: prod.ProdArea_C})
  42. if err != nil {
  43. log.Fatal(err)
  44. }
  45. fmt.Println(prodInfo)
  46. orderClient := prod.NewOrderServiceClient(conn)
  47. newOrderRes, err := orderClient.NewOrder(context.Background(), &prod.ProdMain{
  48. OrderId: 1,
  49. OrderNo: "123",
  50. UserId: 456,
  51. OrderMoney: 50.5,
  52. OrderTime: &timestamppb.Timestamp{
  53. Seconds: time.Now().Unix(),
  54. },
  55. })
  56. if err != nil {
  57. log.Fatal(err)
  58. }
  59. fmt.Println(newOrderRes)
  60. }