client.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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.NewClient(":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.OrderRequest{
  48. ProdMain: &prod.ProdMain{
  49. OrderId: 1,
  50. OrderNo: "123",
  51. UserId: 456,
  52. OrderMoney: 50.5,
  53. OrderTime: &timestamppb.Timestamp{
  54. Seconds: time.Now().Unix(),
  55. },
  56. },
  57. })
  58. if err != nil {
  59. log.Fatal(err)
  60. }
  61. fmt.Println(newOrderRes)
  62. }