123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406 |
- // Copyright 2021 Tencent Inc. All rights reserved.
- //
- // 支付有礼活动对外API
- //
- // No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
- //
- // API version: 0.1.2
- // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT.
- package giftactivity
- import (
- "context"
- "fmt"
- nethttp "net/http"
- neturl "net/url"
- "strings"
- "git.nanodreamtech.com/sg/wechatpay-go/core"
- "git.nanodreamtech.com/sg/wechatpay-go/core/consts"
- "git.nanodreamtech.com/sg/wechatpay-go/services"
- )
- type ActivityApiService services.Service
- // AddActivityMerchant 新增活动发券商户号
- //
- // 使用场景:商户创建活动后,可以通过该接口增加支付有礼的发券商户号,用于管理活动。
- // 可调用商户:商户/服务商/渠道商
- func (a *ActivityApiService) AddActivityMerchant(ctx context.Context, req AddActivityMerchantRequest) (resp *AddActivityMerchantResponse, result *core.APIResult, err error) {
- var (
- localVarHTTPMethod = nethttp.MethodPost
- localVarPostBody interface{}
- localVarQueryParams neturl.Values
- localVarHeaderParams = nethttp.Header{}
- )
- // Make sure Path Params are properly set
- if req.ActivityId == nil {
- return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in AddActivityMerchantRequest")
- }
- localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants/add"
- // Build Path with Path Params
- localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
- // Make sure All Required Params are properly set
- // Setup Body Params
- localVarPostBody = &AddActivityMerchantBody{
- MerchantIdList: req.MerchantIdList,
- AddRequestNo: req.AddRequestNo,
- }
- // Determine the Content-Type Header
- localVarHTTPContentTypes := []string{"application/json"}
- // Setup Content-Type
- localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
- // Perform Http Request
- result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
- if err != nil {
- return nil, result, err
- }
- // Extract AddActivityMerchantResponse from Http Response
- resp = new(AddActivityMerchantResponse)
- err = core.UnMarshalResponse(result.Response, resp)
- if err != nil {
- return nil, result, err
- }
- return resp, result, nil
- }
- // CreateFullSendAct 创建全场满额送活动
- //
- // 使用场景:商户可以创建满额送活动,用户支付后送全场券,提升交易额。
- // 可调用商户:商户/服务商/渠道商
- func (a *ActivityApiService) CreateFullSendAct(ctx context.Context, req CreateFullSendActRequest) (resp *CreateFullSendActResponse, result *core.APIResult, err error) {
- var (
- localVarHTTPMethod = nethttp.MethodPost
- localVarPostBody interface{}
- localVarQueryParams neturl.Values
- localVarHeaderParams = nethttp.Header{}
- )
- localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/unique-threshold-activity"
- // Make sure All Required Params are properly set
- // Setup Body Params
- localVarPostBody = req
- // Determine the Content-Type Header
- localVarHTTPContentTypes := []string{"application/json"}
- // Setup Content-Type
- localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
- // Perform Http Request
- result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
- if err != nil {
- return nil, result, err
- }
- // Extract CreateFullSendActResponse from Http Response
- resp = new(CreateFullSendActResponse)
- err = core.UnMarshalResponse(result.Response, resp)
- if err != nil {
- return nil, result, err
- }
- return resp, result, nil
- }
- // DeleteActivityMerchant 删除活动发券商户号
- //
- // 使用场景:商户创建活动后,可以通过该接口删除支付有礼的发券商户号,用于管理活动。
- // 可调用商户:商户/服务商/渠道商
- func (a *ActivityApiService) DeleteActivityMerchant(ctx context.Context, req DeleteActivityMerchantRequest) (resp *DeleteActivityMerchantResponse, result *core.APIResult, err error) {
- var (
- localVarHTTPMethod = nethttp.MethodPost
- localVarPostBody interface{}
- localVarQueryParams neturl.Values
- localVarHeaderParams = nethttp.Header{}
- )
- // Make sure Path Params are properly set
- if req.ActivityId == nil {
- return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in DeleteActivityMerchantRequest")
- }
- localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants/delete"
- // Build Path with Path Params
- localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
- // Make sure All Required Params are properly set
- // Setup Body Params
- localVarPostBody = &DeleteActivityMerchantBody{
- MerchantIdList: req.MerchantIdList,
- DeleteRequestNo: req.DeleteRequestNo,
- }
- // Determine the Content-Type Header
- localVarHTTPContentTypes := []string{"application/json"}
- // Setup Content-Type
- localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
- // Perform Http Request
- result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
- if err != nil {
- return nil, result, err
- }
- // Extract DeleteActivityMerchantResponse from Http Response
- resp = new(DeleteActivityMerchantResponse)
- err = core.UnMarshalResponse(result.Response, resp)
- if err != nil {
- return nil, result, err
- }
- return resp, result, nil
- }
- // GetActDetail 获取活动详情接口
- //
- // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的活动详情,用于管理活动。
- // 可调用商户:商户/服务商/渠道商
- func (a *ActivityApiService) GetActDetail(ctx context.Context, req GetActDetailRequest) (resp *GetActDetailResponse, result *core.APIResult, err error) {
- var (
- localVarHTTPMethod = nethttp.MethodGet
- localVarPostBody interface{}
- localVarQueryParams neturl.Values
- localVarHeaderParams = nethttp.Header{}
- )
- // Make sure Path Params are properly set
- if req.ActivityId == nil {
- return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in GetActDetailRequest")
- }
- localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}"
- // Build Path with Path Params
- localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
- // Make sure All Required Params are properly set
- // Determine the Content-Type Header
- localVarHTTPContentTypes := []string{}
- // Setup Content-Type
- localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
- // Perform Http Request
- result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
- if err != nil {
- return nil, result, err
- }
- // Extract GetActDetailResponse from Http Response
- resp = new(GetActDetailResponse)
- err = core.UnMarshalResponse(result.Response, resp)
- if err != nil {
- return nil, result, err
- }
- return resp, result, nil
- }
- // ListActivities 获取支付有礼活动列表
- //
- // 使用场景:商户根据一定过滤条件,查询已创建的支付有礼活动。
- // 可调用商户:商户/服务商/渠道商
- func (a *ActivityApiService) ListActivities(ctx context.Context, req ListActivitiesRequest) (resp *ListActivitiesResponse, result *core.APIResult, err error) {
- var (
- localVarHTTPMethod = nethttp.MethodGet
- localVarPostBody interface{}
- localVarQueryParams neturl.Values
- localVarHeaderParams = nethttp.Header{}
- )
- localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities"
- // Make sure All Required Params are properly set
- if req.Offset == nil {
- return nil, nil, fmt.Errorf("field `Offset` is required and must be specified in ListActivitiesRequest")
- }
- if req.Limit == nil {
- return nil, nil, fmt.Errorf("field `Limit` is required and must be specified in ListActivitiesRequest")
- }
- // Setup Query Params
- localVarQueryParams = neturl.Values{}
- localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, ""))
- localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, ""))
- if req.ActivityName != nil {
- localVarQueryParams.Add("activity_name", core.ParameterToString(*req.ActivityName, ""))
- }
- if req.ActivityStatus != nil {
- localVarQueryParams.Add("activity_status", core.ParameterToString(*req.ActivityStatus, ""))
- }
- if req.AwardType != nil {
- localVarQueryParams.Add("award_type", core.ParameterToString(*req.AwardType, ""))
- }
- // Determine the Content-Type Header
- localVarHTTPContentTypes := []string{}
- // Setup Content-Type
- localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
- // Perform Http Request
- result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
- if err != nil {
- return nil, result, err
- }
- // Extract ListActivitiesResponse from Http Response
- resp = new(ListActivitiesResponse)
- err = core.UnMarshalResponse(result.Response, resp)
- if err != nil {
- return nil, result, err
- }
- return resp, result, nil
- }
- // ListActivityMerchant 获取活动发券商户号
- //
- // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的发券商户号,用于管理活动。
- // 可调用商户:商户/服务商/渠道商
- func (a *ActivityApiService) ListActivityMerchant(ctx context.Context, req ListActivityMerchantRequest) (resp *ListActMchResponse, result *core.APIResult, err error) {
- var (
- localVarHTTPMethod = nethttp.MethodGet
- localVarPostBody interface{}
- localVarQueryParams neturl.Values
- localVarHeaderParams = nethttp.Header{}
- )
- // Make sure Path Params are properly set
- if req.ActivityId == nil {
- return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in ListActivityMerchantRequest")
- }
- localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants"
- // Build Path with Path Params
- localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
- // Make sure All Required Params are properly set
- // Setup Query Params
- localVarQueryParams = neturl.Values{}
- if req.Offset != nil {
- localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, ""))
- }
- if req.Limit != nil {
- localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, ""))
- }
- // Determine the Content-Type Header
- localVarHTTPContentTypes := []string{}
- // Setup Content-Type
- localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
- // Perform Http Request
- result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
- if err != nil {
- return nil, result, err
- }
- // Extract ListActMchResponse from Http Response
- resp = new(ListActMchResponse)
- err = core.UnMarshalResponse(result.Response, resp)
- if err != nil {
- return nil, result, err
- }
- return resp, result, nil
- }
- // ListActivitySku 获取活动指定商品列表
- //
- // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的活动指定商品,用于管理活动。
- // 可调用商户:商户/服务商/渠道商
- func (a *ActivityApiService) ListActivitySku(ctx context.Context, req ListActivitySkuRequest) (resp *ListActSkuResponse, result *core.APIResult, err error) {
- var (
- localVarHTTPMethod = nethttp.MethodGet
- localVarPostBody interface{}
- localVarQueryParams neturl.Values
- localVarHeaderParams = nethttp.Header{}
- )
- // Make sure Path Params are properly set
- if req.ActivityId == nil {
- return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in ListActivitySkuRequest")
- }
- localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/goods"
- // Build Path with Path Params
- localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
- // Make sure All Required Params are properly set
- // Setup Query Params
- localVarQueryParams = neturl.Values{}
- if req.Offset != nil {
- localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, ""))
- }
- if req.Limit != nil {
- localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, ""))
- }
- // Determine the Content-Type Header
- localVarHTTPContentTypes := []string{}
- // Setup Content-Type
- localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
- // Perform Http Request
- result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
- if err != nil {
- return nil, result, err
- }
- // Extract ListActSkuResponse from Http Response
- resp = new(ListActSkuResponse)
- err = core.UnMarshalResponse(result.Response, resp)
- if err != nil {
- return nil, result, err
- }
- return resp, result, nil
- }
- // TerminateActivity 终止活动
- //
- // 使用场景:商户可以通过该接口停止支付有礼活动。
- // 可调用商户:商户/服务商/渠道商
- func (a *ActivityApiService) TerminateActivity(ctx context.Context, req TerminateActivityRequest) (resp *TerminateActResponse, result *core.APIResult, err error) {
- var (
- localVarHTTPMethod = nethttp.MethodPost
- localVarPostBody interface{}
- localVarQueryParams neturl.Values
- localVarHeaderParams = nethttp.Header{}
- )
- // Make sure Path Params are properly set
- if req.ActivityId == nil {
- return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in TerminateActivityRequest")
- }
- localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/terminate"
- // Build Path with Path Params
- localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1)
- // Make sure All Required Params are properly set
- // Determine the Content-Type Header
- localVarHTTPContentTypes := []string{}
- // Setup Content-Type
- localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
- // Perform Http Request
- result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
- if err != nil {
- return nil, result, err
- }
- // Extract TerminateActResponse from Http Response
- resp = new(TerminateActResponse)
- err = core.UnMarshalResponse(result.Response, resp)
- if err != nil {
- return nil, result, err
- }
- return resp, result, nil
- }
|