api_activity.go 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  1. // Copyright 2021 Tencent Inc. All rights reserved.
  2. //
  3. // 支付有礼活动对外API
  4. //
  5. // No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
  6. //
  7. // API version: 0.1.2
  8. // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT.
  9. package giftactivity
  10. import (
  11. "context"
  12. "fmt"
  13. nethttp "net/http"
  14. neturl "net/url"
  15. "strings"
  16. "git.nanodreamtech.com/sg/wechatpay-go/core"
  17. "git.nanodreamtech.com/sg/wechatpay-go/core/consts"
  18. "git.nanodreamtech.com/sg/wechatpay-go/services"
  19. )
  20. type ActivityApiService services.Service
  21. // AddActivityMerchant 新增活动发券商户号
  22. //
  23. // 使用场景:商户创建活动后,可以通过该接口增加支付有礼的发券商户号,用于管理活动。
  24. // 可调用商户:商户/服务商/渠道商
  25. func (a *ActivityApiService) AddActivityMerchant(ctx context.Context, req AddActivityMerchantRequest) (resp *AddActivityMerchantResponse, result *core.APIResult, err error) {
  26. var (
  27. localVarHTTPMethod = nethttp.MethodPost
  28. localVarPostBody interface{}
  29. localVarQueryParams neturl.Values
  30. localVarHeaderParams = nethttp.Header{}
  31. )
  32. // Make sure Path Params are properly set
  33. if req.ActivityId == nil {
  34. return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in AddActivityMerchantRequest")
  35. }
  36. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants/add"
  37. // Build Path with Path Params
  38. localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
  39. // Make sure All Required Params are properly set
  40. // Setup Body Params
  41. localVarPostBody = &AddActivityMerchantBody{
  42. MerchantIdList: req.MerchantIdList,
  43. AddRequestNo: req.AddRequestNo,
  44. }
  45. // Determine the Content-Type Header
  46. localVarHTTPContentTypes := []string{"application/json"}
  47. // Setup Content-Type
  48. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  49. // Perform Http Request
  50. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  51. if err != nil {
  52. return nil, result, err
  53. }
  54. // Extract AddActivityMerchantResponse from Http Response
  55. resp = new(AddActivityMerchantResponse)
  56. err = core.UnMarshalResponse(result.Response, resp)
  57. if err != nil {
  58. return nil, result, err
  59. }
  60. return resp, result, nil
  61. }
  62. // CreateFullSendAct 创建全场满额送活动
  63. //
  64. // 使用场景:商户可以创建满额送活动,用户支付后送全场券,提升交易额。
  65. // 可调用商户:商户/服务商/渠道商
  66. func (a *ActivityApiService) CreateFullSendAct(ctx context.Context, req CreateFullSendActRequest) (resp *CreateFullSendActResponse, result *core.APIResult, err error) {
  67. var (
  68. localVarHTTPMethod = nethttp.MethodPost
  69. localVarPostBody interface{}
  70. localVarQueryParams neturl.Values
  71. localVarHeaderParams = nethttp.Header{}
  72. )
  73. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/unique-threshold-activity"
  74. // Make sure All Required Params are properly set
  75. // Setup Body Params
  76. localVarPostBody = req
  77. // Determine the Content-Type Header
  78. localVarHTTPContentTypes := []string{"application/json"}
  79. // Setup Content-Type
  80. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  81. // Perform Http Request
  82. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  83. if err != nil {
  84. return nil, result, err
  85. }
  86. // Extract CreateFullSendActResponse from Http Response
  87. resp = new(CreateFullSendActResponse)
  88. err = core.UnMarshalResponse(result.Response, resp)
  89. if err != nil {
  90. return nil, result, err
  91. }
  92. return resp, result, nil
  93. }
  94. // DeleteActivityMerchant 删除活动发券商户号
  95. //
  96. // 使用场景:商户创建活动后,可以通过该接口删除支付有礼的发券商户号,用于管理活动。
  97. // 可调用商户:商户/服务商/渠道商
  98. func (a *ActivityApiService) DeleteActivityMerchant(ctx context.Context, req DeleteActivityMerchantRequest) (resp *DeleteActivityMerchantResponse, result *core.APIResult, err error) {
  99. var (
  100. localVarHTTPMethod = nethttp.MethodPost
  101. localVarPostBody interface{}
  102. localVarQueryParams neturl.Values
  103. localVarHeaderParams = nethttp.Header{}
  104. )
  105. // Make sure Path Params are properly set
  106. if req.ActivityId == nil {
  107. return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in DeleteActivityMerchantRequest")
  108. }
  109. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants/delete"
  110. // Build Path with Path Params
  111. localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
  112. // Make sure All Required Params are properly set
  113. // Setup Body Params
  114. localVarPostBody = &DeleteActivityMerchantBody{
  115. MerchantIdList: req.MerchantIdList,
  116. DeleteRequestNo: req.DeleteRequestNo,
  117. }
  118. // Determine the Content-Type Header
  119. localVarHTTPContentTypes := []string{"application/json"}
  120. // Setup Content-Type
  121. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  122. // Perform Http Request
  123. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  124. if err != nil {
  125. return nil, result, err
  126. }
  127. // Extract DeleteActivityMerchantResponse from Http Response
  128. resp = new(DeleteActivityMerchantResponse)
  129. err = core.UnMarshalResponse(result.Response, resp)
  130. if err != nil {
  131. return nil, result, err
  132. }
  133. return resp, result, nil
  134. }
  135. // GetActDetail 获取活动详情接口
  136. //
  137. // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的活动详情,用于管理活动。
  138. // 可调用商户:商户/服务商/渠道商
  139. func (a *ActivityApiService) GetActDetail(ctx context.Context, req GetActDetailRequest) (resp *GetActDetailResponse, result *core.APIResult, err error) {
  140. var (
  141. localVarHTTPMethod = nethttp.MethodGet
  142. localVarPostBody interface{}
  143. localVarQueryParams neturl.Values
  144. localVarHeaderParams = nethttp.Header{}
  145. )
  146. // Make sure Path Params are properly set
  147. if req.ActivityId == nil {
  148. return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in GetActDetailRequest")
  149. }
  150. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}"
  151. // Build Path with Path Params
  152. localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
  153. // Make sure All Required Params are properly set
  154. // Determine the Content-Type Header
  155. localVarHTTPContentTypes := []string{}
  156. // Setup Content-Type
  157. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  158. // Perform Http Request
  159. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  160. if err != nil {
  161. return nil, result, err
  162. }
  163. // Extract GetActDetailResponse from Http Response
  164. resp = new(GetActDetailResponse)
  165. err = core.UnMarshalResponse(result.Response, resp)
  166. if err != nil {
  167. return nil, result, err
  168. }
  169. return resp, result, nil
  170. }
  171. // ListActivities 获取支付有礼活动列表
  172. //
  173. // 使用场景:商户根据一定过滤条件,查询已创建的支付有礼活动。
  174. // 可调用商户:商户/服务商/渠道商
  175. func (a *ActivityApiService) ListActivities(ctx context.Context, req ListActivitiesRequest) (resp *ListActivitiesResponse, result *core.APIResult, err error) {
  176. var (
  177. localVarHTTPMethod = nethttp.MethodGet
  178. localVarPostBody interface{}
  179. localVarQueryParams neturl.Values
  180. localVarHeaderParams = nethttp.Header{}
  181. )
  182. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities"
  183. // Make sure All Required Params are properly set
  184. if req.Offset == nil {
  185. return nil, nil, fmt.Errorf("field `Offset` is required and must be specified in ListActivitiesRequest")
  186. }
  187. if req.Limit == nil {
  188. return nil, nil, fmt.Errorf("field `Limit` is required and must be specified in ListActivitiesRequest")
  189. }
  190. // Setup Query Params
  191. localVarQueryParams = neturl.Values{}
  192. localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, ""))
  193. localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, ""))
  194. if req.ActivityName != nil {
  195. localVarQueryParams.Add("activity_name", core.ParameterToString(*req.ActivityName, ""))
  196. }
  197. if req.ActivityStatus != nil {
  198. localVarQueryParams.Add("activity_status", core.ParameterToString(*req.ActivityStatus, ""))
  199. }
  200. if req.AwardType != nil {
  201. localVarQueryParams.Add("award_type", core.ParameterToString(*req.AwardType, ""))
  202. }
  203. // Determine the Content-Type Header
  204. localVarHTTPContentTypes := []string{}
  205. // Setup Content-Type
  206. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  207. // Perform Http Request
  208. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  209. if err != nil {
  210. return nil, result, err
  211. }
  212. // Extract ListActivitiesResponse from Http Response
  213. resp = new(ListActivitiesResponse)
  214. err = core.UnMarshalResponse(result.Response, resp)
  215. if err != nil {
  216. return nil, result, err
  217. }
  218. return resp, result, nil
  219. }
  220. // ListActivityMerchant 获取活动发券商户号
  221. //
  222. // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的发券商户号,用于管理活动。
  223. // 可调用商户:商户/服务商/渠道商
  224. func (a *ActivityApiService) ListActivityMerchant(ctx context.Context, req ListActivityMerchantRequest) (resp *ListActMchResponse, result *core.APIResult, err error) {
  225. var (
  226. localVarHTTPMethod = nethttp.MethodGet
  227. localVarPostBody interface{}
  228. localVarQueryParams neturl.Values
  229. localVarHeaderParams = nethttp.Header{}
  230. )
  231. // Make sure Path Params are properly set
  232. if req.ActivityId == nil {
  233. return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in ListActivityMerchantRequest")
  234. }
  235. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants"
  236. // Build Path with Path Params
  237. localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
  238. // Make sure All Required Params are properly set
  239. // Setup Query Params
  240. localVarQueryParams = neturl.Values{}
  241. if req.Offset != nil {
  242. localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, ""))
  243. }
  244. if req.Limit != nil {
  245. localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, ""))
  246. }
  247. // Determine the Content-Type Header
  248. localVarHTTPContentTypes := []string{}
  249. // Setup Content-Type
  250. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  251. // Perform Http Request
  252. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  253. if err != nil {
  254. return nil, result, err
  255. }
  256. // Extract ListActMchResponse from Http Response
  257. resp = new(ListActMchResponse)
  258. err = core.UnMarshalResponse(result.Response, resp)
  259. if err != nil {
  260. return nil, result, err
  261. }
  262. return resp, result, nil
  263. }
  264. // ListActivitySku 获取活动指定商品列表
  265. //
  266. // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的活动指定商品,用于管理活动。
  267. // 可调用商户:商户/服务商/渠道商
  268. func (a *ActivityApiService) ListActivitySku(ctx context.Context, req ListActivitySkuRequest) (resp *ListActSkuResponse, result *core.APIResult, err error) {
  269. var (
  270. localVarHTTPMethod = nethttp.MethodGet
  271. localVarPostBody interface{}
  272. localVarQueryParams neturl.Values
  273. localVarHeaderParams = nethttp.Header{}
  274. )
  275. // Make sure Path Params are properly set
  276. if req.ActivityId == nil {
  277. return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in ListActivitySkuRequest")
  278. }
  279. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/goods"
  280. // Build Path with Path Params
  281. localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
  282. // Make sure All Required Params are properly set
  283. // Setup Query Params
  284. localVarQueryParams = neturl.Values{}
  285. if req.Offset != nil {
  286. localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, ""))
  287. }
  288. if req.Limit != nil {
  289. localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, ""))
  290. }
  291. // Determine the Content-Type Header
  292. localVarHTTPContentTypes := []string{}
  293. // Setup Content-Type
  294. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  295. // Perform Http Request
  296. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  297. if err != nil {
  298. return nil, result, err
  299. }
  300. // Extract ListActSkuResponse from Http Response
  301. resp = new(ListActSkuResponse)
  302. err = core.UnMarshalResponse(result.Response, resp)
  303. if err != nil {
  304. return nil, result, err
  305. }
  306. return resp, result, nil
  307. }
  308. // TerminateActivity 终止活动
  309. //
  310. // 使用场景:商户可以通过该接口停止支付有礼活动。
  311. // 可调用商户:商户/服务商/渠道商
  312. func (a *ActivityApiService) TerminateActivity(ctx context.Context, req TerminateActivityRequest) (resp *TerminateActResponse, result *core.APIResult, err error) {
  313. var (
  314. localVarHTTPMethod = nethttp.MethodPost
  315. localVarPostBody interface{}
  316. localVarQueryParams neturl.Values
  317. localVarHeaderParams = nethttp.Header{}
  318. )
  319. // Make sure Path Params are properly set
  320. if req.ActivityId == nil {
  321. return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in TerminateActivityRequest")
  322. }
  323. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/terminate"
  324. // Build Path with Path Params
  325. localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
  326. // Make sure All Required Params are properly set
  327. // Determine the Content-Type Header
  328. localVarHTTPContentTypes := []string{}
  329. // Setup Content-Type
  330. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  331. // Perform Http Request
  332. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  333. if err != nil {
  334. return nil, result, err
  335. }
  336. // Extract TerminateActResponse from Http Response
  337. resp = new(TerminateActResponse)
  338. err = core.UnMarshalResponse(result.Response, resp)
  339. if err != nil {
  340. return nil, result, err
  341. }
  342. return resp, result, nil
  343. }