diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteIoTManageExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteIoTManageExtensions.cs new file mode 100644 index 00000000..da75ecf4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteIoTManageExtensions.cs @@ -0,0 +1,30 @@ +using System; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + public static class WechatTenpayClientExecuteIoTManageExtensions + { + /// + /// 异步调用 [GET] /iotmanage/devices 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop/point/iotmanage-devices.html + /// + /// + /// + /// + /// + public static async Task ExecuteQueryIoTManageDevicesAsync(this WechatTenpayClient client, Models.QueryIoTManageDevicesRequest 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.Get, "iotmanage", "devices"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesRequest.cs new file mode 100644 index 00000000..37c530ac --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /iotmanage/devices 接口的请求。 + /// + public class QueryIoTManageDevicesRequest : WechatTenpayRequest + { + /// + /// 获取或设置分页大小。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int Limit { get; set; } = 10; + + /// + /// 获取或设置分页开始位置。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int Offset { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesResponse.cs new file mode 100644 index 00000000..8636ad68 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/IoTManage/QueryIoTManageDevicesResponse.cs @@ -0,0 +1,158 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /iotmanage/devices 接口的响应。 + /// + public class QueryIoTManageDevicesResponse : WechatTenpayResponse + { + public static class Types + { + public class Device + { + /// + /// 获取或设置设备序列号。 + /// + [Newtonsoft.Json.JsonProperty("device_sn")] + [System.Text.Json.Serialization.JsonPropertyName("device_sn")] + public string? DeviceSerialNumber { get; set; } + + /// + /// 获取或设置摄像头序列号。 + /// + [Newtonsoft.Json.JsonProperty("camera_sn")] + [System.Text.Json.Serialization.JsonPropertyName("camera_sn")] + public string? CameraSerialNumber { get; set; } + + /// + /// 获取或设置设备品类代码。 + /// + [Newtonsoft.Json.JsonProperty("device_category_code")] + [System.Text.Json.Serialization.JsonPropertyName("device_category_code")] + public string? DeviceCategoryCode { get; set; } + + /// + /// 获取或设置设备品类。 + /// + [Newtonsoft.Json.JsonProperty("device_category")] + [System.Text.Json.Serialization.JsonPropertyName("device_category")] + public string? DeviceCategory { get; set; } + + /// + /// 获取或设置设备类型代码。 + /// + [Newtonsoft.Json.JsonProperty("device_class_code")] + [System.Text.Json.Serialization.JsonPropertyName("device_class_code")] + public string? DeviceClassCode { get; set; } + + /// + /// 获取或设置设备类型。 + /// + [Newtonsoft.Json.JsonProperty("device_class")] + [System.Text.Json.Serialization.JsonPropertyName("device_class")] + public string? DeviceClass { get; set; } + + /// + /// 获取或设置设备型号。 + /// + [Newtonsoft.Json.JsonProperty("device_model")] + [System.Text.Json.Serialization.JsonPropertyName("device_model")] + public string? DeviceModel { get; set; } + + /// + /// 获取或设置刷脸应用软件模式代码。 + /// + [Newtonsoft.Json.JsonProperty("app_scene_code")] + [System.Text.Json.Serialization.JsonPropertyName("app_scene_code")] + public string? AppSceneCode { get; set; } + + /// + /// 获取或设置刷脸应用软件模式。 + /// + [Newtonsoft.Json.JsonProperty("app_scene")] + [System.Text.Json.Serialization.JsonPropertyName("app_scene")] + public string? AppScene { get; set; } + + /// + /// 获取或设置刷脸应用操作系统。 + /// + [Newtonsoft.Json.JsonProperty("operating_system")] + [System.Text.Json.Serialization.JsonPropertyName("operating_system")] + public string? OperatingSystem { get; set; } + + /// + /// 获取或设置激活状态。 + /// + [Newtonsoft.Json.JsonProperty("activation_status")] + [System.Text.Json.Serialization.JsonPropertyName("activation_status")] + public string? ActivationStatus { get; set; } + + /// + /// 获取或设置激活时间。 + /// + [Newtonsoft.Json.JsonProperty("activation_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("activation_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? ActivationTime { get; set; } + + /// + /// 获取或设置商户号。 + /// + [Newtonsoft.Json.JsonProperty("mchid")] + [System.Text.Json.Serialization.JsonPropertyName("mchid")] + public string? MerchantId { get; set; } + + /// + /// 获取或设置商户简称。 + /// + [Newtonsoft.Json.JsonProperty("merchant_shortname")] + [System.Text.Json.Serialization.JsonPropertyName("merchant_shortname")] + public string? MerchantShortName { get; set; } + + /// + /// 获取或设置子商户号。 + /// + [Newtonsoft.Json.JsonProperty("sub_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("sub_mchid")] + public string? SubMerchantId { get; set; } + + /// + /// 获取或设置子商户简称。 + /// + [Newtonsoft.Json.JsonProperty("sub_merchant_shortname")] + [System.Text.Json.Serialization.JsonPropertyName("sub_merchant_shortname")] + public string? SubMerchantShortName { get; set; } + } + } + + /// + /// 获取或设置设备列表。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Device[] DeviceList { get; set; } = default!; + + /// + /// 获取或设置分页起始位置。 + /// + [Newtonsoft.Json.JsonProperty("offset")] + [System.Text.Json.Serialization.JsonPropertyName("offset")] + public int Offset { get; set; } + + /// + /// 获取或设置分页大小。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int Limit { get; set; } + + /// + /// 获取或设置总数量。 + /// + [Newtonsoft.Json.JsonProperty("total_count")] + [System.Text.Json.Serialization.JsonPropertyName("total_count")] + public int TotalCount { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs index 824b4131..06609708 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MerchantFund/IncomeRecords/QueryMerchantFundMerchantIncomeRecordsRequest.cs @@ -27,7 +27,7 @@ public int? Offset { get; set; } /// - /// 获取或设置分页每页数量。 + /// 获取或设置分页大小。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesRequest.cs index 0beec987..d612f934 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesRequest.cs @@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public int Offset { get; set; } /// - /// 获取或设置分页每页数量。 + /// 获取或设置分页大小。 /// 默认值:10 /// [Newtonsoft.Json.JsonIgnore] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesResponse.cs index d877cae7..529b5e32 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/NewTaxControlFapiao/Merchant/QueryNewTaxControlFapiaoMerchantTaxCodesResponse.cs @@ -54,7 +54,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public int Offset { get; set; } /// - /// 获取或设置分页每页数量。 + /// 获取或设置分页大小。 /// [Newtonsoft.Json.JsonProperty("limit")] [System.Text.Json.Serialization.JsonPropertyName("limit")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByBatchIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByBatchIdRequest.cs index 81bb4da4..44e02c5d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByBatchIdRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByBatchIdRequest.cs @@ -27,7 +27,7 @@ public int? Offset { get; set; } /// - /// 获取或设置分页每页数量。 + /// 获取或设置分页大小。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByOutBatchNumberRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByOutBatchNumberRequest.cs index 12c74389..9605996b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByOutBatchNumberRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/Transfer/Batches/GetTransferBatchByOutBatchNumberRequest.cs @@ -27,7 +27,7 @@ public int? Offset { get; set; } /// - /// 获取或设置分页每页数量。 + /// 获取或设置分页大小。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_HKPartner/Transactions/Settlements/QueryHKSettlementsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_HKPartner/Transactions/Settlements/QueryHKSettlementsRequest.cs index 4325b5d7..8dc3ab6b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_HKPartner/Transactions/Settlements/QueryHKSettlementsRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/_HKPartner/Transactions/Settlements/QueryHKSettlementsRequest.cs @@ -42,7 +42,7 @@ public int Offset { get; set; } = 0; /// - /// 获取或设置分页每页数量。 + /// 获取或设置分页大小。 /// 默认值:10 /// [Newtonsoft.Json.JsonProperty("limit")]