api_services.go 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // Copyright 2021 Tencent Inc. All rights reserved.
  2. //
  3. // 微信支付分停车服务
  4. //
  5. // 微信支付分停车服务 扣费API
  6. //
  7. // API version: 1.2.1
  8. // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT.
  9. package wexinpayscoreparking
  10. import (
  11. "context"
  12. "fmt"
  13. nethttp "net/http"
  14. neturl "net/url"
  15. "git.nanodreamtech.com/sg/wechatpay-go/core"
  16. "git.nanodreamtech.com/sg/wechatpay-go/core/consts"
  17. "git.nanodreamtech.com/sg/wechatpay-go/services"
  18. )
  19. type ServicesApiService services.Service
  20. // QueryPlateService 查询车牌服务开通信息
  21. //
  22. // 该接口仅支持停车场景,商户首先请求查询车牌服务开通信息接口,确认该车牌,是否被该用户开通车主服务,以及车牌具体服务开通状态,包括正常服务,和暂停服务,以及未开通三个状态。
  23. func (a *ServicesApiService) QueryPlateService(ctx context.Context, req QueryPlateServiceRequest) (resp *PlateService, result *core.APIResult, err error) {
  24. var (
  25. localVarHTTPMethod = nethttp.MethodGet
  26. localVarPostBody interface{}
  27. localVarQueryParams neturl.Values
  28. localVarHeaderParams = nethttp.Header{}
  29. )
  30. localVarPath := consts.WechatPayAPIServer + "/v3/vehicle/parking/services/find"
  31. // Make sure All Required Params are properly set
  32. if req.Appid == nil {
  33. return nil, nil, fmt.Errorf("field `Appid` is required and must be specified in QueryPlateServiceRequest")
  34. }
  35. if req.PlateNumber == nil {
  36. return nil, nil, fmt.Errorf("field `PlateNumber` is required and must be specified in QueryPlateServiceRequest")
  37. }
  38. if req.Openid == nil {
  39. return nil, nil, fmt.Errorf("field `Openid` is required and must be specified in QueryPlateServiceRequest")
  40. }
  41. if req.PlateColor == nil {
  42. return nil, nil, fmt.Errorf("field `PlateColor` is required and must be specified in QueryPlateServiceRequest")
  43. }
  44. // Setup Query Params
  45. localVarQueryParams = neturl.Values{}
  46. localVarQueryParams.Add("appid", core.ParameterToString(*req.Appid, ""))
  47. if req.SubMchid != nil {
  48. localVarQueryParams.Add("sub_mchid", core.ParameterToString(*req.SubMchid, ""))
  49. }
  50. localVarQueryParams.Add("plate_number", core.ParameterToString(*req.PlateNumber, ""))
  51. localVarQueryParams.Add("openid", core.ParameterToString(*req.Openid, ""))
  52. localVarQueryParams.Add("plate_color", core.ParameterToString(*req.PlateColor, ""))
  53. // Determine the Content-Type Header
  54. localVarHTTPContentTypes := []string{}
  55. // Setup Content-Type
  56. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  57. // Perform Http Request
  58. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  59. if err != nil {
  60. return nil, result, err
  61. }
  62. // Extract PlateService from Http Response
  63. resp = new(PlateService)
  64. err = core.UnMarshalResponse(result.Response, resp)
  65. if err != nil {
  66. return nil, result, err
  67. }
  68. return resp, result, nil
  69. }