using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; using Flurl; using Flurl.Http; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 { public static class WechatTenpayClientExecutePayDevicesExtensions { #region Printers /// /// 异步调用 [POST] /pay-devices/printers/{device_id}/print-orders 接口。 /// /// /// /// /// public static async Task ExecuteCreatePayDevicePrinterPrintOrderAsync(this WechatTenpayClient client, Models.CreatePayDevicePrinterPrintOrderRequest 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 .CreateFlurlRequest(request, HttpMethod.Post, "pay-devices", "printers", request.DeviceId, "print-orders"); return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } /// /// 异步调用 [GET] /pay-devices/printers/{device_id}/print-orders/{print_order_no} 接口。 /// /// /// /// /// public static async Task ExecuteGetPayDevicePrinterPrintOrderByPrintOrderNumberAsync(this WechatTenpayClient client, Models.GetPayDevicePrinterPrintOrderByPrintOrderNumberRequest 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 .CreateFlurlRequest(request, HttpMethod.Get, "pay-devices", "printers", request.DeviceId, "print-orders", request.PrintOrderNumber); return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion } }