diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs index 494f500c..0c8fb92b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs @@ -2930,6 +2930,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + /// + /// 异步调用 [POST] /channels/ec/order/freshinspect/submit 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECOrderFreshInspectSubmitAsync(this WechatApiClient client, Models.ChannelsECOrderFreshInspectSubmitRequest 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, "channels", "ec", "order", "freshinspect", "submit") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #region ECOrder/Address /// /// 异步调用 [POST] /channels/ec/order/address/update 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitRequest.cs new file mode 100644 index 00000000..120ab13b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitRequest.cs @@ -0,0 +1,44 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/order/freshinspect/submit 接口的请求。 + /// + public class ChannelsECOrderFreshInspectSubmitRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class AuditItem + { + /// + /// 获取或设置审核项名称。 + /// + [Newtonsoft.Json.JsonProperty("item_name")] + [System.Text.Json.Serialization.JsonPropertyName("item_name")] + public string ItemName { get; set; } = string.Empty; + + /// + /// 获取或设置审核项值。 + /// + [Newtonsoft.Json.JsonProperty("item_value")] + [System.Text.Json.Serialization.JsonPropertyName("item_value")] + public string ItemValue { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置订单 ID。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public string OrderId { get; set; } = string.Empty; + + /// + /// 获取或设置审核项列表。 + /// + [Newtonsoft.Json.JsonProperty("audit_items")] + [System.Text.Json.Serialization.JsonPropertyName("audit_items")] + public IList AuditItemList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitResponse.cs new file mode 100644 index 00000000..396bdf21 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/order/freshinspect/submit 接口的响应。 + /// + public class ChannelsECOrderFreshInspectSubmitResponse : WechatApiResponse + { + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitRequest.json new file mode 100644 index 00000000..2297e152 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECOrder/ChannelsECOrderFreshInspectSubmitRequest.json @@ -0,0 +1,21 @@ +{ + "order_id": "12345", + "audit_items": [ + { + "item_name": "product_express_pic_url", + "item_value": "https://store.mp.video.tencent-cloud.com/x" + }, + { + "item_name": "product_packaging_box_panoramic_video_url", + "item_value": "https://store.mp.video.tencent-cloud.com/y" + }, + { + "item_name": "product_unboxing_panoramic_video_url", + "item_value": "https://store.mp.video.tencent-cloud.com/z" + }, + { + "item_name": "single_product_detail_panoramic_video_url", + "item_value": "https://store.mp.video.tencent-cloud.com/p" + } + ] +}