From d196a57fe8d110d068fa093921aa2f198a4a4a14 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 3 Nov 2022 23:10:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(wxapi):=20=E6=96=B0=E5=A2=9E=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E5=8F=B7=E5=B0=8F=E5=BA=97=E4=BC=98=E6=83=A0=E5=88=B8?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ChannelsECAftersaleUpdateEvent.cs | 2 +- .../ChannelsECCouponReceiveEvent.cs | 49 ++++ .../ChannelsEC/ChannelsECOrderCancelEvent.cs | 2 +- .../ChannelsEC/ChannelsECOrderConfirmEvent.cs | 2 +- .../ChannelsEC/ChannelsECOrderPayEvent.cs | 2 +- .../ChannelsEC/ChannelsECOrderSettleEvent.cs | 2 +- .../OpenProductOrderAnalyzeEvent.cs | 2 +- ...echatApiClientExecuteChannelsExtensions.cs | 142 ++++++++++++ .../ECCoupon/ChannelsECCouponCreateRequest.cs | 216 ++++++++++++++++++ .../ChannelsECCouponCreateResponse.cs | 29 +++ .../ChannelsECCouponGetListRequest.cs | 38 +++ .../ChannelsECCouponGetListResponse.cs | 43 ++++ .../ECCoupon/ChannelsECCouponGetRequest.cs | 17 ++ .../ECCoupon/ChannelsECCouponGetResponse.cs | 185 +++++++++++++++ ...hannelsECCouponGetUserCouponListRequest.cs | 45 ++++ ...annelsECCouponGetUserCouponListResponse.cs | 50 ++++ .../ChannelsECCouponGetUserCouponRequest.cs | 24 ++ .../ChannelsECCouponGetUserCouponResponse.cs | 120 ++++++++++ .../ECCoupon/ChannelsECCouponUpdateRequest.cs | 102 +++++++++ .../ChannelsECCouponUpdateResponse.cs | 9 + .../ChannelsECCouponUpdateStatusRequest.cs | 24 ++ .../ChannelsECCouponUpdateStatusResponse.cs | 9 + .../Coupon/ProductCouponCreateRequest.cs | 4 +- .../Coupon/ProductCouponCreateResponse.cs | 2 +- .../Product/Coupon/ProductCouponGetRequest.cs | 2 +- .../Coupon/ProductCouponGetResponse.cs | 6 +- .../Coupon/ProductCouponGetUserRequest.cs | 2 +- .../Coupon/ProductCouponGetUserResponse.cs | 2 +- .../Coupon/ProductCouponPushRequest.cs | 4 +- .../Coupon/ProductCouponUpdateRequest.cs | 2 +- .../ProductCouponUpdateStatusRequest.cs | 2 +- .../Product/Order/ProductOrderGetResponse.cs | 2 +- .../Shop/Aftersale/ShopAftersaleAddRequest.cs | 2 +- .../Shop/Aftersale/ShopAftersaleGetRequest.cs | 2 +- .../Aftersale/ShopAftersaleGetResponse.cs | 2 +- .../ShopAftersaleUpdateDeadlineRequest.cs | 2 +- .../Aftersale/ShopAftersaleUpdateRequest.cs | 2 +- .../Shop/Coupon/ShopCouponGetResponse.cs | 2 +- .../Delivery/ShopDeliveryReceiveRequest.cs | 2 +- .../Shop/Delivery/ShopDeliverySendRequest.cs | 2 +- .../ECAftersale/ShopECAftersaleAddRequest.cs | 2 +- .../ShopECAftersaleCancelRequest.cs | 2 +- .../ShopECAftersaleUpdateRequest.cs | 2 +- .../ShopECAftersaleUploadReturnInfoRequest.cs | 2 +- .../Shop/Order/ShopOrderCloseRequest.cs | 2 +- .../ShopOrderGetPaymentParametersRequest.cs | 2 +- .../Models/Shop/Order/ShopOrderGetRequest.cs | 2 +- .../Models/Shop/Order/ShopOrderPayRequest.cs | 2 +- .../Shop/Pay/ShopPayCloseOrderRequest.cs | 2 +- .../Shop/Pay/ShopPayCreateOrderRequest.cs | 2 +- .../Pay/ShopPayProfitSharingOrderRequest.cs | 2 +- .../Shop/Pay/ShopPayRefundOrderRequest.cs | 2 +- .../UnionPromoterProductListResponse.cs | 2 +- .../UserOrder/UserOrderOrdersRequest.cs | 2 +- .../Wxa/Security/WxaMediaCheckRequest.cs | 2 +- .../WxaMessageSecurityCheckRequest.cs | 2 +- .../ChannelsECCouponReceiveEvent.json | 12 + .../ChannelsECCouponCreateRequest.json | 32 +++ .../ChannelsECCouponCreateResponse.json | 7 + .../ChannelsECCouponGetListRequest.json | 6 + .../ChannelsECCouponGetListResponse.json | 11 + .../ECCoupon/ChannelsECCouponGetRequest.json | 3 + .../ECCoupon/ChannelsECCouponGetResponse.json | 36 +++ ...nnelsECCouponGetUserCouponListRequest.json | 7 + ...nelsECCouponGetUserCouponListResponse.json | 11 + .../ChannelsECCouponGetUserCouponRequest.json | 4 + ...ChannelsECCouponGetUserCouponResponse.json | 19 ++ .../ChannelsECCouponUpdateRequest.json | 34 +++ .../ChannelsECCouponUpdateStatusRequest.json | 4 + 69 files changed, 1332 insertions(+), 44 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECCouponReceiveEvent.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponCreateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponCreateResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetListResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponListResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateStatusRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateStatusResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/ChannelsEC/ChannelsECCouponReceiveEvent.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponCreateRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponCreateResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetListRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetListResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponListRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponListResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponUpdateRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponUpdateStatusRequest.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECAftersaleUpdateEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECAftersaleUpdateEvent.cs index 9c750c31..8229ce00 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECAftersaleUpdateEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECAftersaleUpdateEvent.cs @@ -11,7 +11,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events public class AftersaleOrder { /// - /// 获取或设置售后单号。 + /// 获取或设置售后单 ID。 /// [Newtonsoft.Json.JsonProperty("after_sale_order_id")] [System.Text.Json.Serialization.JsonPropertyName("after_sale_order_id")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECCouponReceiveEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECCouponReceiveEvent.cs new file mode 100644 index 00000000..9d9f90c9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECCouponReceiveEvent.cs @@ -0,0 +1,49 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Events +{ + /// + /// 表示 EVENT.channels_ec_coupon_receive 事件的数据。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/aftersale/ec_callback/channels_ec_aftersale_update.html + /// + public class ChannelsECCouponReceiveEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable + { + public static class Types + { + public class UserCoupon + { + /// + /// 获取或设置用户优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("user_coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("user_coupon_id")] + [System.Xml.Serialization.XmlElement("user_coupon_id")] + public string UserCouponId { get; set; } = default!; + + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + [System.Xml.Serialization.XmlElement("coupon_id")] + public long CouponId { get; set; } + + /// + /// 获取或设置领券时间戳。 + /// + [Newtonsoft.Json.JsonProperty("receive_time")] + [System.Text.Json.Serialization.JsonPropertyName("receive_time")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + [System.Xml.Serialization.XmlElement("receive_time")] + public long ReceiveTimestamp { get; set; } + } + } + + /// + /// 获取或设置用户优惠券信息。 + /// + [Newtonsoft.Json.JsonProperty("receive_info")] + [System.Text.Json.Serialization.JsonPropertyName("receive_info")] + [System.Xml.Serialization.XmlElement("receive_info")] + public Types.UserCoupon UserCoupon { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderCancelEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderCancelEvent.cs index f18fb106..b0e7c04d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderCancelEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderCancelEvent.cs @@ -11,7 +11,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events public class Order { /// - /// 获取或设置订单号。 + /// 获取或设置订单 ID。 /// [Newtonsoft.Json.JsonProperty("order_id")] [System.Text.Json.Serialization.JsonPropertyName("order_id")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderConfirmEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderConfirmEvent.cs index 4a744e91..b6f7f04b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderConfirmEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderConfirmEvent.cs @@ -11,7 +11,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events public class Order { /// - /// 获取或设置订单号。 + /// 获取或设置订单 ID。 /// [Newtonsoft.Json.JsonProperty("order_id")] [System.Text.Json.Serialization.JsonPropertyName("order_id")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderPayEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderPayEvent.cs index b51dfad8..cb32e398 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderPayEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderPayEvent.cs @@ -11,7 +11,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events public class Order { /// - /// 获取或设置订单号。 + /// 获取或设置订单 ID。 /// [Newtonsoft.Json.JsonProperty("order_id")] [System.Text.Json.Serialization.JsonPropertyName("order_id")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderSettleEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderSettleEvent.cs index 48aaea3b..108f74f9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderSettleEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/ChannelsEC/ChannelsECOrderSettleEvent.cs @@ -11,7 +11,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events public class Order { /// - /// 获取或设置订单号。 + /// 获取或设置订单 ID。 /// [Newtonsoft.Json.JsonProperty("order_id")] [System.Text.Json.Serialization.JsonPropertyName("order_id")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderAnalyzeEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderAnalyzeEvent.cs index 9ca4a5f9..e338ece1 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderAnalyzeEvent.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderAnalyzeEvent.cs @@ -27,7 +27,7 @@ public long OrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs index f19931d8..e3d5462f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs @@ -833,6 +833,148 @@ namespace SKIT.FlurlHttpClient.Wechat.Api } #endregion + #region ECCoupon + /// + /// 异步调用 [POST] /channels/ec/coupon/create 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/coupon/create.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECCouponCreateAsync(this WechatApiClient client, Models.ChannelsECCouponCreateRequest 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, "channels", "ec", "coupon", "create") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /channels/ec/coupon/update 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/coupon/update.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECCouponUpdateAsync(this WechatApiClient client, Models.ChannelsECCouponUpdateRequest 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, "channels", "ec", "coupon", "update") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /channels/ec/coupon/update_status 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/coupon/update_status.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECCouponUpdateStatusAsync(this WechatApiClient client, Models.ChannelsECCouponUpdateStatusRequest 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, "channels", "ec", "coupon", "update_status") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /channels/ec/coupon/get 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/coupon/get.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECCouponGetAsync(this WechatApiClient client, Models.ChannelsECCouponGetRequest 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, "channels", "ec", "coupon", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /channels/ec/coupon/get_list 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/coupon/get_list.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECCouponGetListAsync(this WechatApiClient client, Models.ChannelsECCouponGetListRequest 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, "channels", "ec", "coupon", "get_list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /channels/ec/coupon/get_user_coupon_list 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/coupon/get_user_coupon_list.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECCouponGetUserCouponListAsync(this WechatApiClient client, Models.ChannelsECCouponGetUserCouponListRequest 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, "channels", "ec", "coupon", "get_user_coupon_list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /channels/ec/coupon/get_user_coupon 接口。 + /// REF: https://developers.weixin.qq.com/doc/channels/API/coupon/get_user_coupon.html + /// + /// + /// + /// + /// + public static async Task ExecuteChannelsECCouponGetUserCouponAsync(this WechatApiClient client, Models.ChannelsECCouponGetUserCouponRequest 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, "channels", "ec", "coupon", "get_user_coupon") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + #region ECWindow /// /// 异步调用 [POST] /channels/ec/window/product/add 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponCreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponCreateRequest.cs new file mode 100644 index 00000000..050f4ae8 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponCreateRequest.cs @@ -0,0 +1,216 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/create 接口的请求。 + /// + public class ChannelsECCouponCreateRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class Discount + { + public static class Types + { + public class DiscountCondidtion + { + /// + /// 获取或设置商品数量。 + /// + [Newtonsoft.Json.JsonProperty("product_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("product_cnt")] + public int? ProductCount { get; set; } + + /// + /// 获取或设置商品 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("product_ids")] + [System.Text.Json.Serialization.JsonPropertyName("product_ids")] + public IList? ProductIdList { get; set; } + + /// + /// 获取或设置商品价格(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("product_price")] + [System.Text.Json.Serialization.JsonPropertyName("product_price")] + public int? ProductPrice { get; set; } + } + } + + /// + /// 获取或设置优惠条件信息。 + /// + [Newtonsoft.Json.JsonProperty("discount_condition")] + [System.Text.Json.Serialization.JsonPropertyName("discount_condition")] + public Types.DiscountCondidtion? DiscountCondidtion { get; set; } + + /// + /// 获取或设置满减金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("discount_fee")] + [System.Text.Json.Serialization.JsonPropertyName("discount_fee")] + public int? DiscountFee { get; set; } + + /// + /// 获取或设置折扣数值(范围:1000~10000)。 + /// + [Newtonsoft.Json.JsonProperty("discount_num")] + [System.Text.Json.Serialization.JsonPropertyName("discount_num")] + public int? DiscountNumber { get; set; } + } + + public class Extra + { + /// + /// 获取或设置领取后跳转的商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("jump_product_id")] + [System.Text.Json.Serialization.JsonPropertyName("jump_product_id")] + public long? JumpProductId { get; set; } + + /// + /// 获取或设置备注。 + /// + [Newtonsoft.Json.JsonProperty("notes")] + [System.Text.Json.Serialization.JsonPropertyName("notes")] + public string? Notes { get; set; } + + /// + /// 获取或设置有效时间戳。 + /// + [Newtonsoft.Json.JsonProperty("valid_time")] + [System.Text.Json.Serialization.JsonPropertyName("valid_time")] + public long ValidTimestamp { get; set; } + + /// + /// 获取或设置失效时间戳。 + /// + [Newtonsoft.Json.JsonProperty("invalid_time")] + [System.Text.Json.Serialization.JsonPropertyName("invalid_time")] + public long InvalidTimestamp { get; set; } + } + + public class Promotion + { + /// + /// 获取或设置推广类型。 + /// + [Newtonsoft.Json.JsonProperty("promote_type")] + [System.Text.Json.Serialization.JsonPropertyName("promote_type")] + public int PromoteType { get; set; } + } + + public class Reception + { + /// + /// 获取或设置单人限领数量。 + /// + [Newtonsoft.Json.JsonProperty("limit_num_one_person")] + [System.Text.Json.Serialization.JsonPropertyName("limit_num_one_person")] + public int? LimitPerUser { get; set; } + + /// + /// 获取或设置领取总数量。 + /// + [Newtonsoft.Json.JsonProperty("total_num")] + [System.Text.Json.Serialization.JsonPropertyName("total_num")] + public int? TotalCount { get; set; } + + /// + /// 获取或设置领取开始时间戳。 + /// + [Newtonsoft.Json.JsonProperty("start_time")] + [System.Text.Json.Serialization.JsonPropertyName("start_time")] + public long? StartTimestamp { get; set; } + + /// + /// 获取或设置领取结束时间戳。 + /// + [Newtonsoft.Json.JsonProperty("end_time")] + [System.Text.Json.Serialization.JsonPropertyName("end_time")] + public long? EndTimestamp { get; set; } + } + + public class Validity + { + /// + /// 获取或设置有效期类型。 + /// + [Newtonsoft.Json.JsonProperty("valid_type")] + [System.Text.Json.Serialization.JsonPropertyName("valid_type")] + public int ValidType { get; set; } + + /// + /// 获取或设置相对生效天数。 + /// + [Newtonsoft.Json.JsonProperty("valid_day_num")] + [System.Text.Json.Serialization.JsonPropertyName("valid_day_num")] + public int? ValidDays { get; set; } + + /// + /// 获取或设置绝对生效开始时间戳。 + /// + [Newtonsoft.Json.JsonProperty("start_time")] + [System.Text.Json.Serialization.JsonPropertyName("start_time")] + public long? StartTimestamp { get; set; } + + /// + /// 获取或设置绝对生效结束时间戳。 + /// + [Newtonsoft.Json.JsonProperty("end_time")] + [System.Text.Json.Serialization.JsonPropertyName("end_time")] + public long? EndTimestamp { get; set; } + } + } + + /// + /// 获取或设置优惠券类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置优惠券名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置优惠信息。 + /// + [Newtonsoft.Json.JsonProperty("discount_info")] + [System.Text.Json.Serialization.JsonPropertyName("discount_info")] + public Types.Discount Discount { get; set; } = new Types.Discount(); + + /// + /// 获取或设置扩展信息。 + /// + [Newtonsoft.Json.JsonProperty("ext_info")] + [System.Text.Json.Serialization.JsonPropertyName("ext_info")] + public Types.Extra? Extra { get; set; } + + /// + /// 获取或设置推广信息。 + /// + [Newtonsoft.Json.JsonProperty("promote_info")] + [System.Text.Json.Serialization.JsonPropertyName("promote_info")] + public Types.Promotion? Promotion { get; set; } + + /// + /// 获取或设置接收信息。 + /// + [Newtonsoft.Json.JsonProperty("receive_info")] + [System.Text.Json.Serialization.JsonPropertyName("receive_info")] + public Types.Reception? Reception { get; set; } + + /// + /// 获取或设置有效期信息。 + /// + [Newtonsoft.Json.JsonProperty("valid_info")] + [System.Text.Json.Serialization.JsonPropertyName("valid_info")] + public Types.Validity Validity { get; set; } = new Types.Validity(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponCreateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponCreateResponse.cs new file mode 100644 index 00000000..3f9ec688 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponCreateResponse.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/create 接口的响应。 + /// + public class ChannelsECCouponCreateResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long CouponId { get; set; } + } + } + + /// + /// 获取或设置返回数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetListRequest.cs new file mode 100644 index 00000000..c5bc4f28 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetListRequest.cs @@ -0,0 +1,38 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/get_list 接口的请求。 + /// + public class ChannelsECCouponGetListRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置优惠券状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public int? Status { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("page_ctx")] + [System.Text.Json.Serialization.JsonPropertyName("page_ctx")] + public string? Cursor { get; set; } + + /// + /// 获取或设置分页页数(从 1 开始)。 + /// 默认值:1 + /// + [Newtonsoft.Json.JsonProperty("page")] + [System.Text.Json.Serialization.JsonPropertyName("page")] + public int Page { get; set; } = 1; + + /// + /// 获取或设置分页每页数量。 + /// 默认值:10 + /// + [Newtonsoft.Json.JsonProperty("page_size")] + [System.Text.Json.Serialization.JsonPropertyName("page_size")] + public int Limit { get; set; } = 10; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetListResponse.cs new file mode 100644 index 00000000..90254bcd --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetListResponse.cs @@ -0,0 +1,43 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/get_list 接口的响应。 + /// + public class ChannelsECCouponGetListResponse : WechatApiResponse + { + public static class Types + { + public class Coupon + { + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long CouponId { get; set; } + } + } + + /// + /// 获取或设置优惠券列表。 + /// + [Newtonsoft.Json.JsonProperty("coupons")] + [System.Text.Json.Serialization.JsonPropertyName("coupons")] + public Types.Coupon[] CouponList { get; set; } = default!; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("page_ctx")] + [System.Text.Json.Serialization.JsonPropertyName("page_ctx")] + public string? NextCursor { get; set; } + + /// + /// 获取或设置总数量。 + /// + [Newtonsoft.Json.JsonProperty("total_num")] + [System.Text.Json.Serialization.JsonPropertyName("total_num")] + public int TotalCount { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetRequest.cs new file mode 100644 index 00000000..03fba34f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetRequest.cs @@ -0,0 +1,17 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/get 接口的请求。 + /// + public class ChannelsECCouponGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + public long CouponId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetResponse.cs new file mode 100644 index 00000000..fe9deb2c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetResponse.cs @@ -0,0 +1,185 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/get 接口的响应。 + /// + public class ChannelsECCouponGetResponse : WechatApiResponse + { + public static class Types + { + public class Coupon + { + public static class Types + { + public class CouponDetail + { + public static class Types + { + public class Discount : ChannelsECCouponCreateRequest.Types.Discount + { + public static new class Types + { + public class DiscountCondidtion : ChannelsECCouponCreateRequest.Types.Discount.Types.DiscountCondidtion + { + /// + /// 获取或设置商品 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("product_ids")] + [System.Text.Json.Serialization.JsonPropertyName("product_ids")] + public new long[]? ProductIdList { get; set; } + } + } + + /// + /// 获取或设置优惠条件信息。 + /// + [Newtonsoft.Json.JsonProperty("discount_condition")] + [System.Text.Json.Serialization.JsonPropertyName("discount_condition")] + public new Types.DiscountCondidtion? DiscountCondidtion { get; set; } + } + + public class Extra : ChannelsECCouponCreateRequest.Types.Extra + { + } + + public class Promotion : ChannelsECCouponCreateRequest.Types.Promotion + { + } + + public class Reception : ChannelsECCouponCreateRequest.Types.Reception + { + } + + public class Validity : ChannelsECCouponCreateRequest.Types.Validity + { + } + } + + /// + /// 获取或设置优惠券名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置优惠信息。 + /// + [Newtonsoft.Json.JsonProperty("discount_info")] + [System.Text.Json.Serialization.JsonPropertyName("discount_info")] + public Types.Discount Discount { get; set; } = default!; + + /// + /// 获取或设置扩展信息。 + /// + [Newtonsoft.Json.JsonProperty("ext_info")] + [System.Text.Json.Serialization.JsonPropertyName("ext_info")] + public Types.Extra? Extra { get; set; } + + /// + /// 获取或设置推广信息。 + /// + [Newtonsoft.Json.JsonProperty("promote_info")] + [System.Text.Json.Serialization.JsonPropertyName("promote_info")] + public Types.Promotion? Promotion { get; set; } + + /// + /// 获取或设置接收信息。 + /// + [Newtonsoft.Json.JsonProperty("receive_info")] + [System.Text.Json.Serialization.JsonPropertyName("receive_info")] + public Types.Reception? Reception { get; set; } + + /// + /// 获取或设置有效期信息。 + /// + [Newtonsoft.Json.JsonProperty("valid_info")] + [System.Text.Json.Serialization.JsonPropertyName("valid_info")] + public Types.Validity Validity { get; set; } = default!; + } + + public class CouponStock + { + /// + /// 获取或设置剩余量。 + /// + [Newtonsoft.Json.JsonProperty("issued_num")] + [System.Text.Json.Serialization.JsonPropertyName("issued_num")] + public int IssuedCount { get; set; } + + /// + /// 获取或设置领用量。 + /// + [Newtonsoft.Json.JsonProperty("receive_num")] + [System.Text.Json.Serialization.JsonPropertyName("receive_num")] + public int ReceivedCount { get; set; } + + /// + /// 获取或设置已用量。 + /// + [Newtonsoft.Json.JsonProperty("used_num")] + [System.Text.Json.Serialization.JsonPropertyName("used_num")] + public int UsedCount { get; set; } + } + } + + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long CouponId { get; set; } + + /// + /// 获取或设置优惠券类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置优惠券状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public int Status { get; set; } + + /// + /// 获取或设置优惠券详细信息。 + /// + [Newtonsoft.Json.JsonProperty("coupon_info")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_info")] + public Types.CouponDetail CouponDetail { get; set; } = default!; + + /// + /// 获取或设置优惠券库存信息。 + /// + [Newtonsoft.Json.JsonProperty("stock_info")] + [System.Text.Json.Serialization.JsonPropertyName("stock_info")] + public Types.CouponStock CouponStock { get; set; } = default!; + + /// + /// 获取或设置更新时间戳。 + /// + [Newtonsoft.Json.JsonProperty("update_time")] + [System.Text.Json.Serialization.JsonPropertyName("update_time")] + public long UpdateTimestamp { get; set; } + + /// + /// 获取或设置创建时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + } + } + + /// + /// 获取或设置优惠券信息。 + /// + [Newtonsoft.Json.JsonProperty("coupon")] + [System.Text.Json.Serialization.JsonPropertyName("coupon")] + public Types.Coupon Coupon { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponListRequest.cs new file mode 100644 index 00000000..80ff58d0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponListRequest.cs @@ -0,0 +1,45 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/get_user_coupon_list 接口的请求。 + /// + public class ChannelsECCouponGetUserCouponListRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置用户 OpenId。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string OpenId { get; set; } = string.Empty; + + /// + /// 获取或设置优惠券状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public int? Status { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("page_ctx")] + [System.Text.Json.Serialization.JsonPropertyName("page_ctx")] + public string? Cursor { get; set; } + + /// + /// 获取或设置分页页数(从 1 开始)。 + /// 默认值:1 + /// + [Newtonsoft.Json.JsonProperty("page")] + [System.Text.Json.Serialization.JsonPropertyName("page")] + public int Page { get; set; } = 1; + + /// + /// 获取或设置分页每页数量。 + /// 默认值:10 + /// + [Newtonsoft.Json.JsonProperty("page_size")] + [System.Text.Json.Serialization.JsonPropertyName("page_size")] + public int Limit { get; set; } = 10; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponListResponse.cs new file mode 100644 index 00000000..f203e686 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponListResponse.cs @@ -0,0 +1,50 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/get_user_coupon_list 接口的响应。 + /// + public class ChannelsECCouponGetUserCouponListResponse : WechatApiResponse + { + public static class Types + { + public class UserCoupon + { + /// + /// 获取或设置用户优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("user_coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("user_coupon_id")] + public string UserCouponId { get; set; } = default!; + + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long CouponId { get; set; } + } + } + + /// + /// 获取或设置用户优惠券列表。 + /// + [Newtonsoft.Json.JsonProperty("user_coupon_list")] + [System.Text.Json.Serialization.JsonPropertyName("user_coupon_list")] + public Types.UserCoupon[] UserCouponList { get; set; } = default!; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("page_ctx")] + [System.Text.Json.Serialization.JsonPropertyName("page_ctx")] + public string? NextCursor { get; set; } + + /// + /// 获取或设置总数量。 + /// + [Newtonsoft.Json.JsonProperty("total_num")] + [System.Text.Json.Serialization.JsonPropertyName("total_num")] + public int TotalCount { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponRequest.cs new file mode 100644 index 00000000..1c3148e6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponRequest.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/get_user_coupon 接口的请求。 + /// + public class ChannelsECCouponGetUserCouponRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置用户 OpenId。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string OpenId { get; set; } = string.Empty; + + /// + /// 获取或设置用户优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("user_coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("user_coupon_id")] + public string CouponId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponResponse.cs new file mode 100644 index 00000000..1bd22859 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponGetUserCouponResponse.cs @@ -0,0 +1,120 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/get_user_coupon 接口的响应。 + /// + public class ChannelsECCouponGetUserCouponResponse : WechatApiResponse + { + public static class Types + { + public class UserCoupon + { + public static class Types + { + public class Extra + { + /// + /// 获取或设置核销时间戳。 + /// + [Newtonsoft.Json.JsonProperty("use_time")] + [System.Text.Json.Serialization.JsonPropertyName("use_time")] + public long UseTimestamp { get; set; } + } + } + + /// + /// 获取或设置用户优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("user_coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("user_coupon_id")] + public string UserCouponId { get; set; } = default!; + + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long CouponId { get; set; } + + /// + /// 获取或设置优惠券状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public int Status { get; set; } + + /// + /// 获取或设置创建时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + + /// + /// 获取或设置更新时间戳。 + /// + [Newtonsoft.Json.JsonProperty("update_time")] + [System.Text.Json.Serialization.JsonPropertyName("update_time")] + public long UpdateTimestamp { get; set; } + + /// + /// 获取或设置有效期开始时间戳。 + /// + [Newtonsoft.Json.JsonProperty("start_time")] + [System.Text.Json.Serialization.JsonPropertyName("start_time")] + public long ValidityStartTimestamp { get; set; } + + /// + /// 获取或设置有效期结束时间戳。 + /// + [Newtonsoft.Json.JsonProperty("end_time")] + [System.Text.Json.Serialization.JsonPropertyName("end_time")] + public long ValidityEndTimestamp { get; set; } + + /// + /// 获取或设置扩展信息。 + /// + [Newtonsoft.Json.JsonProperty("ext_info")] + [System.Text.Json.Serialization.JsonPropertyName("ext_info")] + public Types.Extra? Extra { get; set; } + + /// + /// 获取或设置使用的订单 ID。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long? OrderId { get; set; } + + /// + /// 获取或设置优惠金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("discount_fee")] + [System.Text.Json.Serialization.JsonPropertyName("discount_fee")] + public int? DiscountFee { get; set; } + } + } + + /// + /// 获取或设置用户 OpenId。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string OpenId { get; set; } = default!; + + /// + /// 获取或设置用户 UnionId。 + /// + [Newtonsoft.Json.JsonProperty("unionid")] + [System.Text.Json.Serialization.JsonPropertyName("unionid")] + public string? UnionId { get; set; } + + /// + /// 获取或设置用户优惠券信息。 + /// + [Newtonsoft.Json.JsonProperty("user_coupon")] + [System.Text.Json.Serialization.JsonPropertyName("user_coupon")] + public Types.UserCoupon UserCoupon { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateRequest.cs new file mode 100644 index 00000000..ee668509 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateRequest.cs @@ -0,0 +1,102 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/update 接口的请求。 + /// + public class ChannelsECCouponUpdateRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class Discount : ChannelsECCouponCreateRequest.Types.Discount + { + public static new class Types + { + public class DiscountCondidtion : ChannelsECCouponCreateRequest.Types.Discount.Types.DiscountCondidtion + { + } + } + + /// + /// 获取或设置优惠条件信息。 + /// + [Newtonsoft.Json.JsonProperty("discount_condition")] + [System.Text.Json.Serialization.JsonPropertyName("discount_condition")] + public new Types.DiscountCondidtion? DiscountCondidtion { get; set; } + } + + public class Extra : ChannelsECCouponCreateRequest.Types.Extra + { + } + + public class Promotion : ChannelsECCouponCreateRequest.Types.Promotion + { + } + + public class Reception : ChannelsECCouponCreateRequest.Types.Reception + { + } + + public class Validity : ChannelsECCouponCreateRequest.Types.Validity + { + } + } + + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + public long CouponId { get; set; } + + /// + /// 获取或设置优惠券类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置优惠券名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置优惠信息。 + /// + [Newtonsoft.Json.JsonProperty("discount_info")] + [System.Text.Json.Serialization.JsonPropertyName("discount_info")] + public Types.Discount Discount { get; set; } = new Types.Discount(); + + /// + /// 获取或设置扩展信息。 + /// + [Newtonsoft.Json.JsonProperty("ext_info")] + [System.Text.Json.Serialization.JsonPropertyName("ext_info")] + public Types.Extra? Extra { get; set; } + + /// + /// 获取或设置推广信息。 + /// + [Newtonsoft.Json.JsonProperty("promote_info")] + [System.Text.Json.Serialization.JsonPropertyName("promote_info")] + public Types.Promotion? Promotion { get; set; } + + /// + /// 获取或设置接收信息。 + /// + [Newtonsoft.Json.JsonProperty("receive_info")] + [System.Text.Json.Serialization.JsonPropertyName("receive_info")] + public Types.Reception? Reception { get; set; } + + /// + /// 获取或设置有效期信息。 + /// + [Newtonsoft.Json.JsonProperty("valid_info")] + [System.Text.Json.Serialization.JsonPropertyName("valid_info")] + public Types.Validity Validity { get; set; } = new Types.Validity(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateResponse.cs new file mode 100644 index 00000000..040e431f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/update 接口的响应。 + /// + public class ChannelsECCouponUpdateResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateStatusRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateStatusRequest.cs new file mode 100644 index 00000000..2bdba92d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateStatusRequest.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/update_status 接口的请求。 + /// + public class ChannelsECCouponUpdateStatusRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置优惠券 ID。 + /// + [Newtonsoft.Json.JsonProperty("coupon_id")] + [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] + public long CouponId { get; set; } + + /// + /// 获取或设置优惠券状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public int Status { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateStatusResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateStatusResponse.cs new file mode 100644 index 00000000..b8c9de48 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCoupon/ChannelsECCouponUpdateStatusResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/coupon/update_status 接口的响应。 + /// + public class ChannelsECCouponUpdateStatusResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponCreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponCreateRequest.cs index 09d8f971..6591f1d0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponCreateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponCreateRequest.cs @@ -74,7 +74,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// [Newtonsoft.Json.JsonProperty("notes")] [System.Text.Json.Serialization.JsonPropertyName("notes")] - public string? Remark { get; set; } + public string? Notes { get; set; } /// /// 获取或设置有效时间戳。 @@ -122,7 +122,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// [Newtonsoft.Json.JsonProperty("total_num")] [System.Text.Json.Serialization.JsonPropertyName("total_num")] - public int? TotalNumber { get; set; } + public int? TotalCount { get; set; } /// /// 获取或设置领取开始时间戳。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponCreateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponCreateResponse.cs index d5c463e6..a5803ce4 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponCreateResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponCreateResponse.cs @@ -14,7 +14,7 @@ /// [Newtonsoft.Json.JsonProperty("coupon_id")] [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] - public int CouponId { get; set; } + public long CouponId { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetRequest.cs index d1606a7c..947ba1c0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetRequest.cs @@ -10,6 +10,6 @@ /// [Newtonsoft.Json.JsonProperty("coupon_id")] [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] - public int CouponId { get; set; } + public long CouponId { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetResponse.cs index 2f0c560f..90df4be9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetResponse.cs @@ -82,7 +82,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// [Newtonsoft.Json.JsonProperty("notes")] [System.Text.Json.Serialization.JsonPropertyName("notes")] - public string? Remark { get; set; } + public string? Notes { get; set; } /// /// 获取或设置有效时间戳。 @@ -133,7 +133,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// [Newtonsoft.Json.JsonProperty("total_num")] [System.Text.Json.Serialization.JsonPropertyName("total_num")] - public int? TotalNumber { get; set; } + public int? TotalCount { get; set; } /// /// 获取或设置领取开始时间戳。 @@ -263,7 +263,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// [Newtonsoft.Json.JsonProperty("coupon_id")] [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] - public int CouponId { get; set; } + public long CouponId { get; set; } /// /// 获取或设置优惠券类型。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetUserRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetUserRequest.cs index d559accf..a4a7bd38 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetUserRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetUserRequest.cs @@ -6,7 +6,7 @@ public class ProductCouponGetUserRequest : WechatApiRequest, IInferable { /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetUserResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetUserResponse.cs index 015fa4d4..7614e074 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetUserResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponGetUserResponse.cs @@ -31,7 +31,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// [Newtonsoft.Json.JsonProperty("coupon_id")] [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] - public int CouponId { get; set; } + public long CouponId { get; set; } /// /// 获取或设置优惠券状态。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponPushRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponPushRequest.cs index 768dabd5..fda6f4f7 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponPushRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponPushRequest.cs @@ -10,10 +10,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models /// [Newtonsoft.Json.JsonProperty("coupon_id")] [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] - public int CouponId { get; set; } + public long CouponId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponUpdateRequest.cs index 34d0c879..2288295f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponUpdateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponUpdateRequest.cs @@ -33,7 +33,7 @@ /// [Newtonsoft.Json.JsonProperty("coupon_id")] [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] - public int CouponId { get; set; } + public long CouponId { get; set; } /// /// 获取或设置优惠券名称。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponUpdateStatusRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponUpdateStatusRequest.cs index 1175f0d9..4354e33b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponUpdateStatusRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Coupon/ProductCouponUpdateStatusRequest.cs @@ -10,7 +10,7 @@ /// [Newtonsoft.Json.JsonProperty("coupon_id")] [System.Text.Json.Serialization.JsonPropertyName("coupon_id")] - public int CouponId { get; set; } + public long CouponId { get; set; } /// /// 获取或设置优惠券状态。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Order/ProductOrderGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Order/ProductOrderGetResponse.cs index 1763b805..0dacc53d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Order/ProductOrderGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Product/Order/ProductOrderGetResponse.cs @@ -394,7 +394,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public Types.AftersaleDetail? AftersaleDetail { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleAddRequest.cs index a44bd87f..50f72984 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleAddRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleAddRequest.cs @@ -57,7 +57,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public string PagePath { get; set; } = string.Empty; /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleGetRequest.cs index 78e158aa..453c715d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleGetRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleGetRequest.cs @@ -20,7 +20,7 @@ public string? OutOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleGetResponse.cs index 5ed9c7b4..639556d0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleGetResponse.cs @@ -67,7 +67,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public string PagePath { get; set; } = default!; /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleUpdateDeadlineRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleUpdateDeadlineRequest.cs index 6e244133..15cbccd2 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleUpdateDeadlineRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleUpdateDeadlineRequest.cs @@ -13,7 +13,7 @@ public string OutOrderId { get; set; } = string.Empty; /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleUpdateRequest.cs index 505ded0b..8b34e1d9 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleUpdateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Aftersale/ShopAftersaleUpdateRequest.cs @@ -20,7 +20,7 @@ public string OutAftersaleOrderId { get; set; } = string.Empty; /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Coupon/ShopCouponGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Coupon/ShopCouponGetResponse.cs index 11e63f33..b0d42216 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Coupon/ShopCouponGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Coupon/ShopCouponGetResponse.cs @@ -179,7 +179,7 @@ /// [Newtonsoft.Json.JsonProperty("total_num")] [System.Text.Json.Serialization.JsonPropertyName("total_num")] - public int TotalNumber { get; set; } + public int TotalCount { get; set; } /// /// 获取或设置领取开始时间戳。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliveryReceiveRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliveryReceiveRequest.cs index 9ae9acc1..c7df0075 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliveryReceiveRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliveryReceiveRequest.cs @@ -20,7 +20,7 @@ public string? OutOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliverySendRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliverySendRequest.cs index 8f337e3c..2ef3765a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliverySendRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliverySendRequest.cs @@ -77,7 +77,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public string? OutOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleAddRequest.cs index d7244679..27b8f518 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleAddRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleAddRequest.cs @@ -73,7 +73,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public string? OutAftersaleOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleCancelRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleCancelRequest.cs index 691c4164..ffb61680 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleCancelRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleCancelRequest.cs @@ -20,7 +20,7 @@ public string? OutAftersaleOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleUpdateRequest.cs index 25576ff0..3cdc768d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleUpdateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleUpdateRequest.cs @@ -29,7 +29,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public string? OutAftersaleOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleUploadReturnInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleUploadReturnInfoRequest.cs index 55acf872..9c95a760 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleUploadReturnInfoRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleUploadReturnInfoRequest.cs @@ -20,7 +20,7 @@ public string? OutAftersaleOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderCloseRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderCloseRequest.cs index 821762c9..650c459f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderCloseRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderCloseRequest.cs @@ -20,7 +20,7 @@ public string? OutOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderGetPaymentParametersRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderGetPaymentParametersRequest.cs index d7995d9b..c31e991a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderGetPaymentParametersRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderGetPaymentParametersRequest.cs @@ -20,7 +20,7 @@ public string? OutOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderGetRequest.cs index 19cf3eb2..2d69fae1 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderGetRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderGetRequest.cs @@ -20,7 +20,7 @@ public string? OutOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderPayRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderPayRequest.cs index 9ec807af..1659f0d3 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderPayRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Order/ShopOrderPayRequest.cs @@ -22,7 +22,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public string? OutOrderId { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayCloseOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayCloseOrderRequest.cs index c2844401..f6ec525e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayCloseOrderRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayCloseOrderRequest.cs @@ -28,7 +28,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayCreateOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayCreateOrderRequest.cs index 150f700c..223a4dc1 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayCreateOrderRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayCreateOrderRequest.cs @@ -42,7 +42,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayProfitSharingOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayProfitSharingOrderRequest.cs index 76ebdf1d..34cd9ff8 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayProfitSharingOrderRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayProfitSharingOrderRequest.cs @@ -13,7 +13,7 @@ public string MerchantId { get; set; } = string.Empty; /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayRefundOrderRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayRefundOrderRequest.cs index 34652284..8c898a69 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayRefundOrderRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Pay/ShopPayRefundOrderRequest.cs @@ -13,7 +13,7 @@ public string MerchantId { get; set; } = string.Empty; /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductListResponse.cs index 8c3ad829..eac9ce79 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductListResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UnionPromoter/Product/UnionPromoterProductListResponse.cs @@ -512,7 +512,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [Newtonsoft.Json.JsonProperty("couponId")] [System.Text.Json.Serialization.JsonPropertyName("couponId")] [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] - public int? CouponId { get; set; } + public long? CouponId { get; set; } /// /// 获取或设置优惠券详细信息。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/UserOrderOrdersRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/UserOrderOrdersRequest.cs index 0441ca65..7595e332 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/UserOrderOrdersRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/UserOrder/UserOrderOrdersRequest.cs @@ -154,7 +154,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public class Payer { /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Wxa/Security/WxaMediaCheckRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Wxa/Security/WxaMediaCheckRequest.cs index 063fccd9..159c3712 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Wxa/Security/WxaMediaCheckRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Wxa/Security/WxaMediaCheckRequest.cs @@ -34,7 +34,7 @@ public int? Scene { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Wxa/Security/WxaMessageSecurityCheckRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Wxa/Security/WxaMessageSecurityCheckRequest.cs index 6010ca1b..b67dbc97 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Wxa/Security/WxaMessageSecurityCheckRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Wxa/Security/WxaMessageSecurityCheckRequest.cs @@ -48,7 +48,7 @@ public int? Scene { get; set; } /// - /// 获取或设置用户的 OpenId。 + /// 获取或设置用户 OpenId。 /// [Newtonsoft.Json.JsonProperty("openid")] [System.Text.Json.Serialization.JsonPropertyName("openid")] diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/ChannelsEC/ChannelsECCouponReceiveEvent.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/ChannelsEC/ChannelsECCouponReceiveEvent.json new file mode 100644 index 00000000..a56c8407 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/EventSamples/ChannelsEC/ChannelsECCouponReceiveEvent.json @@ -0,0 +1,12 @@ +{ + "ToUserName": "gh_*", + "FromUserName": "OpenID", + "CreateTime": 1662480000, + "MsgType": "event", + "Event": "channels_ec_coupon_receive", + "receive_info": { + "coupon_id": "19126", + "user_coupon_id": "29730", + "receive_time": "1662480000" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponCreateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponCreateRequest.json new file mode 100644 index 00000000..d0bcb9b9 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponCreateRequest.json @@ -0,0 +1,32 @@ +{ + "type": 2, + "name": "双十一特惠券", + "discount_info": { + "discount_condition": { + "product_cnt": 0, + "product_ids": ["1673110742", "1673110743"], + "product_price": 100 + }, + "discount_fee": 50, + "discount_num": 0 + }, + "ext_info": { + "jump_product_id": "1673110742", + "notes": "备注", + "valid_time": 1673110742, + "invalid_time": 1673110742 + }, + "promote_info": { + "promote_type": 1 + }, + "receive_info": { + "end_time": 1673110742, + "limit_num_one_person": 1, + "start_time": 1673110742, + "total_num": 100 + }, + "valid_info": { + "valid_day_num": 1, + "valid_type": 1 + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponCreateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponCreateResponse.json new file mode 100644 index 00000000..be458a20 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponCreateResponse.json @@ -0,0 +1,7 @@ +{ + "errcode": 0, + "errmsg": "ok", + "data": { + "coupon_id": "111" + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetListRequest.json new file mode 100644 index 00000000..8078840a --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetListRequest.json @@ -0,0 +1,6 @@ +{ + "status": 2, + "page": 1, + "page_size": 10, + "page_ctx": "THE_PAGE_CTX" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetListResponse.json new file mode 100644 index 00000000..13fef88b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetListResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "coupons": [ + { + "coupon_id": "123" + } + ], + "total_num": 10, + "page_ctx": "THE_PAGE_CTX_NEW" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetRequest.json new file mode 100644 index 00000000..65e141b4 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetRequest.json @@ -0,0 +1,3 @@ +{ + "coupon_id": "12639900" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetResponse.json new file mode 100644 index 00000000..2b214ad7 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetResponse.json @@ -0,0 +1,36 @@ +{ + "errcode": 0, + "coupon": { + "coupon_id": "12639900", + "type": 103, + "status": 5, + "create_time": 1594885385, + "update_time": 1594886327, + "coupon_info": { + "name": "scs", + "promote_info": { + "promote_type": 1 + }, + "discount_info": { + "discount_num": 9900 + }, + "receive_info": { + "end_time": 1673110742, + "limit_num_one_person": 1, + "start_time": 1673110742, + "total_num": 100 + }, + "valid_info": { + "valid_type": 1, + "valid_day_num": 0, + "start_time": 1594828800, + "end_time": 1595433600 + } + }, + "stock_info": { + "issued_num": 95, + "receive_num": 3, + "used_num": 2 + } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponListRequest.json new file mode 100644 index 00000000..a5c0bfb2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponListRequest.json @@ -0,0 +1,7 @@ +{ + "openid": "OPENID", + "status": 100, + "page": 1, + "page_size": 20, + "page_ctx": "THE_PAGE_CTX" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponListResponse.json new file mode 100644 index 00000000..7a482597 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponListResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "user_coupon_list": [ + { + "user_coupon_id": "109694341", + "coupon_id": "12639900" + } + ], + "total_num": 1, + "page_ctx": "THE_PAGE_CTX_NEW" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponRequest.json new file mode 100644 index 00000000..0390341b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponRequest.json @@ -0,0 +1,4 @@ +{ + "openid": "OPENID", + "user_coupon_id": "109694341" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponResponse.json new file mode 100644 index 00000000..10951eb1 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponGetUserCouponResponse.json @@ -0,0 +1,19 @@ +{ + "errcode": 0, + "openid": "OPENID", + "unionid": "UNIONID", + "user_coupon": { + "user_coupon_id": "109694341", + "coupon_id": "12639900", + "status": 100, + "create_time": 1590768000, + "update_time": 1590811200, + "start_time": 1590832800, + "end_time": 1590840000, + "ext_info": { + "use_time": 1590836400 + }, + "order_id": "123", + "discount_fee": 123 + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponUpdateRequest.json new file mode 100644 index 00000000..8d1fc596 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponUpdateRequest.json @@ -0,0 +1,34 @@ +{ + "coupon_id": "111", + "type": 1, + "name": "双十二特惠券", + "discount_info": { + "discount_condition": { + "product_cnt": 2, + "product_ids": ["1673110742", "1673110743"], + "product_price": 0 + }, + "discount_fee": 0, + "discount_num": 5500 + }, + "ext_info": { + "jump_product_id": "1673110742", + "notes": "备注2", + "valid_time": 1673110742, + "invalid_time": 1673110742 + }, + "promote_info": { + "promote_type": 1 + }, + "receive_info": { + "end_time": 1673110742, + "limit_num_one_person": 1, + "start_time": 1673110742, + "total_num": 100 + }, + "valid_info": { + "end_time": 1673110742, + "start_time": 1673110742, + "valid_type": 2 + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponUpdateStatusRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponUpdateStatusRequest.json new file mode 100644 index 00000000..8b0c34f8 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCoupon/ChannelsECCouponUpdateStatusRequest.json @@ -0,0 +1,4 @@ +{ + "coupon_id": "111", + "status": 2 +}