diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs index 206bb39d..77025b9a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs @@ -966,6 +966,98 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); } + + /// + /// 异步调用 [POST] /channels/ec/compass/finder/overall/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECCompassFinderOverallGetAsync(this WechatApiClient client, Models.ChannelsECCompassFinderOverallGetRequest 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", "compass", "finder", "overall", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/finder/product/list/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECCompassFinderProductListGetAsync(this WechatApiClient client, Models.ChannelsECCompassFinderProductListGetRequest 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", "compass", "finder", "product", "list", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/finder/product/data/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECCompassFinderProductDataGetAsync(this WechatApiClient client, Models.ChannelsECCompassFinderProductDataGetRequest 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", "compass", "finder", "product", "data", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/compass/finder/sale/profile/data/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECCompassFinderSaleProfileDataGetAsync(this WechatApiClient client, Models.ChannelsECCompassFinderSaleProfileDataGetRequest 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", "compass", "finder", "sale", "profile", "data", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } #endregion #region ECCoupon diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderOverallGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderOverallGetRequest.cs new file mode 100644 index 00000000..567838d4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderOverallGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/finder/overall/get 接口的请求。 + /// + public class ChannelsECCompassFinderOverallGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderOverallGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderOverallGetResponse.cs new file mode 100644 index 00000000..b734688c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderOverallGetResponse.cs @@ -0,0 +1,69 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/finder/overall/get 接口的响应。 + /// + public class ChannelsECCompassFinderOverallGetResponse : WechatApiResponse + { + public static class Types + { + public class Data + { + /// + /// 获取或设置成交金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("pay_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("pay_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long PayGMV { get; set; } + + /// + /// 获取或设置直播成交金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("live_pay_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("live_pay_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long LivePayGMV { get; set; } + + /// + /// 获取或设置短视频成交金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("feed_pay_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("feed_pay_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long FeedPayGMV { get; set; } + + /// + /// 获取或设置橱窗支付金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("window_pay_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("window_pay_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long WindowPayGMV { get; set; } + + /// + /// 获取或设置商品分享支付金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("product_pay_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("product_pay_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ProductPayGMV { get; set; } + + /// + /// 获取或设置其他渠道支付金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("other_pay_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("other_pay_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long OtherPayGMV { 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/ECCompass/ChannelsECCompassFinderProductDataGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductDataGetRequest.cs new file mode 100644 index 00000000..72246a27 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductDataGetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/finder/product/data/get 接口的请求。 + /// + public class ChannelsECCompassFinderProductDataGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + public long ProductId { get; set; } + + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductDataGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductDataGetResponse.cs new file mode 100644 index 00000000..b75e487a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductDataGetResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/finder/product/data/get 接口的响应。 + /// + public class ChannelsECCompassFinderProductDataGetResponse : WechatApiResponse + { + public static class Types + { + public class Product : ChannelsECCompassFinderProductListGetResponse.Types.Product + { + } + } + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("product_info")] + [System.Text.Json.Serialization.JsonPropertyName("product_info")] + public Types.Product Product { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductListGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductListGetRequest.cs new file mode 100644 index 00000000..078c87e9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductListGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/finder/product/list/get 接口的请求。 + /// + public class ChannelsECCompassFinderProductListGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductListGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductListGetResponse.cs new file mode 100644 index 00000000..202f97b0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderProductListGetResponse.cs @@ -0,0 +1,288 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/finder/product/list/get 接口的响应。 + /// + public class ChannelsECCompassFinderProductListGetResponse : WechatApiResponse + { + public static class Types + { + public class Product + { + public static class Types + { + public class Data + { + /// + /// 获取或设置下单金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("create_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("create_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long CreateGMV { get; set; } + + /// + /// 获取或设置下单订单数。 + /// + [Newtonsoft.Json.JsonProperty("create_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("create_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int CreateCount { get; set; } + + /// + /// 获取或设置下单人数。 + /// + [Newtonsoft.Json.JsonProperty("create_uv")] + [System.Text.Json.Serialization.JsonPropertyName("create_uv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int CreateUV { get; set; } + + /// + /// 获取或设置下单件数。 + /// + [Newtonsoft.Json.JsonProperty("create_product_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("create_product_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int CreateProductCount { get; set; } + + /// + /// 获取或设置成交金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("pay_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("pay_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long PayGMV { get; set; } + + /// + /// 获取或设置成交订单数。 + /// + [Newtonsoft.Json.JsonProperty("pay_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("pay_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int PayCount { get; set; } + + /// + /// 获取或设置成交人数。 + /// + [Newtonsoft.Json.JsonProperty("pay_uv")] + [System.Text.Json.Serialization.JsonPropertyName("pay_uv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int PayUV { get; set; } + + /// + /// 获取或设置成交件数。 + /// + [Newtonsoft.Json.JsonProperty("pay_product_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("pay_product_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int PayProductCount { get; set; } + + /// + /// 获取或设置净成交金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("pure_pay_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("pure_pay_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long PurePayGMV { get; set; } + + /// + /// 获取或设置净成交客单价(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("pay_gmv_per_uv")] + [System.Text.Json.Serialization.JsonPropertyName("pay_gmv_per_uv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long PurePayGMVPerUV { get; set; } + + /// + /// 获取或设置成交退款金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("pay_refund_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("pay_refund_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long PayRefundGMV { get; set; } + + /// + /// 获取或设置成交退款人数。 + /// + [Newtonsoft.Json.JsonProperty("pay_refund_uv")] + [System.Text.Json.Serialization.JsonPropertyName("pay_refund_uv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int PayRefundUV { get; set; } + + /// + /// 获取或设置成交退款率(单位:百分数)。 + /// + [Newtonsoft.Json.JsonProperty("pay_refund_ratio")] + [System.Text.Json.Serialization.JsonPropertyName("pay_refund_ratio")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public decimal PayRefundRatio { get; set; } + + /// + /// 获取或设置发货后成交退款率(单位:百分数)。 + /// + [Newtonsoft.Json.JsonProperty("pay_refund_after_send_ratio")] + [System.Text.Json.Serialization.JsonPropertyName("pay_refund_after_send_ratio")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public decimal PayRefundAfterSendRatio { get; set; } + + /// + /// 获取或设置成交退款订单数。 + /// + [Newtonsoft.Json.JsonProperty("pay_refund_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("pay_refund_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int PayRefundCount { get; set; } + + /// + /// 获取或设置成交退款件数。 + /// + [Newtonsoft.Json.JsonProperty("pay_refund_product_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("pay_refund_product_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int PayRefundProductCount { get; set; } + + /// + /// 获取或设置发货前成交退款率(单位:百分数)。 + /// + [Newtonsoft.Json.JsonProperty("pay_refund_before_send_ratio")] + [System.Text.Json.Serialization.JsonPropertyName("pay_refund_before_send_ratio")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public decimal PayRefundBeforeSendRatio { get; set; } + + /// + /// 获取或设置退款金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("refund_gmv")] + [System.Text.Json.Serialization.JsonPropertyName("refund_gmv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long RefundGMV { get; set; } + + /// + /// 获取或设置退款人数。 + /// + [Newtonsoft.Json.JsonProperty("refund_uv")] + [System.Text.Json.Serialization.JsonPropertyName("refund_uv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int RefundUV { get; set; } + + /// + /// 获取或设置退款订单数。 + /// + [Newtonsoft.Json.JsonProperty("refund_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("refund_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int RefundCount { get; set; } + + /// + /// 获取或设置退款件数。 + /// + [Newtonsoft.Json.JsonProperty("refund_product_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("refund_product_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int RefundProductCount { get; set; } + + /// + /// 获取或设置商品点击人数。 + /// + [Newtonsoft.Json.JsonProperty("product_click_uv")] + [System.Text.Json.Serialization.JsonPropertyName("product_click_uv")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int ProductClickUV { get; set; } + + /// + /// 获取或设置商品点击次数。 + /// + [Newtonsoft.Json.JsonProperty("product_click_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("product_click_cnt")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int ProductClickCount { get; set; } + + /// + /// 获取或设置实际结算金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("actual_commission")] + [System.Text.Json.Serialization.JsonPropertyName("actual_commission")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ActualCommission { get; set; } + + /// + /// 获取或设置预估佣金金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("predict_commission")] + [System.Text.Json.Serialization.JsonPropertyName("predict_commission")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long PredictCommission { get; set; } + } + } + + /// + /// 获取或设置商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("product_id")] + [System.Text.Json.Serialization.JsonPropertyName("product_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ProductId { get; set; } + + /// + /// 获取或设置商品标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置商品头图 URL。 + /// + [Newtonsoft.Json.JsonProperty("head_img_url")] + [System.Text.Json.Serialization.JsonPropertyName("head_img_url")] + public string HeadImageUrl { get; set; } = default!; + + /// + /// 获取或设置商品价格(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("price")] + [System.Text.Json.Serialization.JsonPropertyName("price")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public int Price { get; set; } + + /// + /// 获取或设置一级分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("first_category_id")] + [System.Text.Json.Serialization.JsonPropertyName("first_category_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long FirstCategoryId { get; set; } + + /// + /// 获取或设置二级分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("second_category_id")] + [System.Text.Json.Serialization.JsonPropertyName("second_category_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long SecondCategoryId { get; set; } + + /// + /// 获取或设置三级分类 ID。 + /// + [Newtonsoft.Json.JsonProperty("third_category_id")] + [System.Text.Json.Serialization.JsonPropertyName("third_category_id")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ThirdCategoryId { get; set; } + + /// + /// 获取或设置统计数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } + } + + /// + /// 获取或设置商品列表。 + /// + [Newtonsoft.Json.JsonProperty("product_list")] + [System.Text.Json.Serialization.JsonPropertyName("product_list")] + public Types.Product[] ProductList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderSaleProfileDataGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderSaleProfileDataGetRequest.cs new file mode 100644 index 00000000..b731a13a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderSaleProfileDataGetRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/finder/sale/profile/data/get 接口的请求。 + /// + public class ChannelsECCompassFinderSaleProfileDataGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置用户类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置日期字符串(格式:yyyyMMdd)。 + /// + [Newtonsoft.Json.JsonProperty("ds")] + [System.Text.Json.Serialization.JsonPropertyName("ds")] + public string DateString { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderSaleProfileDataGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderSaleProfileDataGetResponse.cs new file mode 100644 index 00000000..88934b5f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECCompass/ChannelsECCompassFinderSaleProfileDataGetResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/compass/finder/sale/profile/data/get 接口的响应。 + /// + public class ChannelsECCompassFinderSaleProfileDataGetResponse : WechatApiResponse + { + public static class Types + { + public class Data : ChannelsECCompassShopSaleProfileDataGetResponse.Types.Data + { + } + } + + /// + /// 获取或设置返回数据。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Data Data { get; set; } = default!; + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassFinderOverallGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassFinderOverallGetRequest.json new file mode 100644 index 00000000..4751f548 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassFinderOverallGetRequest.json @@ -0,0 +1,3 @@ +{ + "ds": "20240520" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassFinderOverallGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassFinderOverallGetResponse.json new file mode 100644 index 00000000..f85becee --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECCompass/ChannelsECCompassFinderOverallGetResponse.json @@ -0,0 +1,12 @@ +{ + "errcode": 0, + "errmsg": "ok", + "data": { + "pay_gmv": "0", + "live_pay_gmv": "0", + "feed_pay_gmv": "0", + "window_pay_gmv": "0", + "product_pay_gmv": "0", + "other_pay_gmv": "0" + } +}