using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; using Flurl.Http; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 { public static class WechatTenpayClientExecuteGoldPlanExtensions { /// /// 异步调用 [POST] /goldplan/merchants/changegoldplanstatus 接口。 /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_5_1.shtml /// /// /// /// /// public static async Task ExecuteChangeGoldPlanStatusAsync(this WechatTenpayClient client, Models.ChangeGoldPlanStatusRequest request, CancellationToken cancellationToken = default) { if (client is null) throw new ArgumentNullException(nameof(client)); if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "changegoldplanstatus"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } /// /// 异步调用 [POST] /goldplan/merchants/changecustompagestatus 接口。 /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_5_2.shtml /// /// /// /// /// public static async Task ExecuteChangeGoldPlanCustomPageStatusAsync(this WechatTenpayClient client, Models.ChangeGoldPlanCustomPageStatusRequest request, CancellationToken cancellationToken = default) { if (client is null) throw new ArgumentNullException(nameof(client)); if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "changecustompagestatus"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } /// /// 异步调用 [POST] /goldplan/merchants/set-advertising-industry-filter 接口。 /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_5_3.shtml /// /// /// /// /// public static async Task ExecuteSetGoldPlanAdvertisingIndustryFilterAsync(this WechatTenpayClient client, Models.SetGoldPlanAdvertisingIndustryFilterRequest request, CancellationToken cancellationToken = default) { if (client is null) throw new ArgumentNullException(nameof(client)); if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "set-advertising-industry-filter"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } /// /// 异步调用 [POST] /goldplan/merchants/open-advertising-show 接口。 /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_5_4.shtml /// /// /// /// /// public static async Task ExecuteOpenGoldPlanAdvertisingShowAsync(this WechatTenpayClient client, Models.OpenGoldPlanAdvertisingShowRequest request, CancellationToken cancellationToken = default) { if (client is null) throw new ArgumentNullException(nameof(client)); if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "open-advertising-show"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } /// /// 异步调用 [POST] /goldplan/merchants/close-advertising-show 接口。 /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3_partner/apis/chapter8_5_5.shtml /// /// /// /// /// public static async Task ExecuteCloseGoldPlanAdvertisingShowAsync(this WechatTenpayClient client, Models.CloseGoldPlanAdvertisingShowRequest request, CancellationToken cancellationToken = default) { if (client is null) throw new ArgumentNullException(nameof(client)); if (request is null) throw new ArgumentNullException(nameof(request)); IFlurlRequest flurlReq = client .CreateRequest(request, HttpMethod.Post, "goldplan", "merchants", "close-advertising-show"); return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } } }