diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs index f801acc2..b4f99ade 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs @@ -5619,6 +5619,54 @@ namespace SKIT.FlurlHttpClient.Wechat.Api } #endregion + #region ECProduct/AuditStrategy + /// + /// 异步调用 [POST] /channels/ec/product/auditstrategy/get 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECProductAuditStrategyGetAsync(this WechatApiClient client, Models.ChannelsECProductAuditStrategyGetRequest 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", "product", "auditstrategy", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + + /// + /// 异步调用 [POST] /channels/ec/product/auditstrategy/set 接口。 + /// + /// REF:
+ /// + ///
+ ///
+ /// + /// + /// + /// + public static async Task ExecuteChannelsECProductAuditStrategySetAsync(this WechatApiClient client, Models.ChannelsECProductAuditStrategySetRequest 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", "product", "auditstrategy", "set") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendFlurlRequestAsJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false); + } + #endregion + #region ECProduct/Category /// /// 异步调用 [POST] /channels/ec/product/category/classify 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetRequest.cs new file mode 100644 index 00000000..38c866b4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/auditstrategy/get 接口的请求。 + /// + public class ChannelsECProductAuditStrategyGetRequest : WechatApiRequest, IInferable + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetResponse.cs new file mode 100644 index 00000000..e96ab978 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/auditstrategy/get 接口的响应。 + /// + public class ChannelsECProductAuditStrategyGetResponse : WechatApiResponse + { + public static class Types + { + public class AuditStrategy + { + /// + /// 获取或设置隐藏商品信息上架开关。 + /// + [Newtonsoft.Json.JsonProperty("hide_err_field_flag")] + [System.Text.Json.Serialization.JsonPropertyName("hide_err_field_flag")] + public int HideErrorFieldFlag { get; set; } + + /// + /// 获取或设置可上架相似品开关。 + /// + [Newtonsoft.Json.JsonProperty("hit_duplicated_flag")] + [System.Text.Json.Serialization.JsonPropertyName("hit_duplicated_flag")] + public int HitDuplicatedFlag { get; set; } + + /// + /// 获取或设置命中低风险规则可上架开关。 + /// + [Newtonsoft.Json.JsonProperty("hit_low_risk_rule_flag")] + [System.Text.Json.Serialization.JsonPropertyName("hit_low_risk_rule_flag")] + public int HitLowRiskRuleFlag { get; set; } + } + } + + /// + /// 获取或设置上架策略信息。 + /// + [Newtonsoft.Json.JsonProperty("audit_strategy")] + [System.Text.Json.Serialization.JsonPropertyName("audit_strategy")] + public Types.AuditStrategy AuditStrategy { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetRequest.cs new file mode 100644 index 00000000..e9facaa9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetRequest.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/auditstrategy/set 接口的请求。 + /// + public class ChannelsECProductAuditStrategySetRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class AuditStrategy + { + /// + /// 获取或设置隐藏商品信息上架开关。 + /// + [Newtonsoft.Json.JsonProperty("hide_err_field_flag")] + [System.Text.Json.Serialization.JsonPropertyName("hide_err_field_flag")] + public int? HideErrorFieldFlag { get; set; } + + /// + /// 获取或设置可上架相似品开关。 + /// + [Newtonsoft.Json.JsonProperty("hit_duplicated_flag")] + [System.Text.Json.Serialization.JsonPropertyName("hit_duplicated_flag")] + public int? HitDuplicatedFlag { get; set; } + + /// + /// 获取或设置命中低风险规则可上架开关。 + /// + [Newtonsoft.Json.JsonProperty("hit_low_risk_rule_flag")] + [System.Text.Json.Serialization.JsonPropertyName("hit_low_risk_rule_flag")] + public int? HitLowRiskRuleFlag { get; set; } + } + } + + /// + /// 获取或设置上架策略信息。 + /// + [Newtonsoft.Json.JsonProperty("audit_strategy")] + [System.Text.Json.Serialization.JsonPropertyName("audit_strategy")] + public Types.AuditStrategy AuditStrategy { get; set; } = new Types.AuditStrategy(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetResponse.cs new file mode 100644 index 00000000..b07c413c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /channels/ec/product/auditstrategy/set 接口的响应。 + /// + public class ChannelsECProductAuditStrategySetResponse : WechatApiResponse + { + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetResponse.json new file mode 100644 index 00000000..e21b8e35 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategyGetResponse.json @@ -0,0 +1,9 @@ +{ + "errcode": 0, + "errmsg": "", + "audit_strategy": { + "hide_err_field_flag": 1, + "hit_duplicated_flag": 1, + "hit_low_risk_rule_flag": 2 + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetRequest.json new file mode 100644 index 00000000..14253d26 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Channels/ECProduct/AuditStrategy/ChannelsECProductAuditStrategySetRequest.json @@ -0,0 +1,7 @@ +{ + "audit_strategy": { + "hide_err_field_flag": 1, + "hit_duplicated_flag": 2, + "hit_low_risk_rule_flag": 0 + } +}