diff --git a/README.md b/README.md index 06616a6b..208d8b01 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ ### 6. 所有 API 都经过了测试吗? -由于微信的产品业务线众多,很多业务也需要前置条件才能继续,截至目前本项目已封装超过 1200 余个 API,虽然同时也编写了若干单元测试用例,但与数量庞大的 API 相比仍远远不够。 +由于微信的产品业务线众多,很多业务也需要前置条件才能继续,截至目前本项目已封装超过 1300 余个 API,虽然同时也编写了若干单元测试用例,但与数量庞大的 API 相比仍远远不够。 本项目严格按照微信官方提供的开发文档进行封装,并利用自动化工具保证封装结果的正确。但微信的文档本身质量很低,所以存在错误在所难免。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/CreateMarketingBusifavorStockRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/CreateMarketingBusifavorStockRequest.cs index e2c00a53..f22ca417 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/CreateMarketingBusifavorStockRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/CreateMarketingBusifavorStockRequest.cs @@ -278,7 +278,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string? MiniProgramPath { get; set; } } - public class Entrance + public class CustomEntrance { public static class Types { @@ -350,8 +350,35 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string? CodeDisplayMode { get; set; } } - public class Pattern + public class DisplayPattern { + public static class Types + { + public class Finder + { + /// + /// 获取或设置视频号。 + /// + [Newtonsoft.Json.JsonProperty("finder_id")] + [System.Text.Json.Serialization.JsonPropertyName("finder_id")] + public string? FinderId { get; set; } + + /// + /// 获取或设置视频封面图片媒体文件地址。 + /// + [Newtonsoft.Json.JsonProperty("finder_video_cover_image_url")] + [System.Text.Json.Serialization.JsonPropertyName("finder_video_cover_image_url")] + public string? FinderVideoCoverImageMediaUrl { get; set; } + + /// + /// 获取或设置视频 ID。 + /// + [Newtonsoft.Json.JsonProperty("finder_video_id")] + [System.Text.Json.Serialization.JsonPropertyName("finder_video_id")] + public string? FinderVideoId { get; set; } + } + } + /// /// 获取或设置使用须知。 /// @@ -386,6 +413,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [Newtonsoft.Json.JsonProperty("coupon_image_url")] [System.Text.Json.Serialization.JsonPropertyName("coupon_image_url")] public string? CouponImageMediaUrl { get; set; } + + /// + /// 获取或设置视频号信息。 + /// + [Newtonsoft.Json.JsonProperty("finder_info")] + [System.Text.Json.Serialization.JsonPropertyName("finder_info")] + public Types.Finder? Finder { get; set; } } public class NotifyConfig @@ -446,14 +480,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("custom_entrance")] [System.Text.Json.Serialization.JsonPropertyName("custom_entrance")] - public Types.Entrance? CustomEntrance { get; set; } + public Types.CustomEntrance? CustomEntrance { get; set; } /// /// 获取或设置样式设置信息。 /// [Newtonsoft.Json.JsonProperty("display_pattern_info")] [System.Text.Json.Serialization.JsonPropertyName("display_pattern_info")] - public Types.Pattern? DisplayPattern { get; set; } + public Types.DisplayPattern? DisplayPattern { get; set; } /// /// 获取或设置事件通知配置信息。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/GetMarketingBusifavorStockByStockIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/GetMarketingBusifavorStockByStockIdResponse.cs index baed218d..7eec7f89 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/GetMarketingBusifavorStockByStockIdResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/GetMarketingBusifavorStockByStockIdResponse.cs @@ -292,7 +292,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string? MiniProgramPath { get; set; } } - public class Entrance + public class CustomEntrance { public static class Types { @@ -364,8 +364,35 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string? CodeDisplayMode { get; set; } } - public class Pattern + public class DisplayPattern { + public static class Types + { + public class Finder + { + /// + /// 获取或设置视频号。 + /// + [Newtonsoft.Json.JsonProperty("finder_id")] + [System.Text.Json.Serialization.JsonPropertyName("finder_id")] + public string? FinderId { get; set; } + + /// + /// 获取或设置视频封面图片媒体文件地址。 + /// + [Newtonsoft.Json.JsonProperty("finder_video_cover_image_url")] + [System.Text.Json.Serialization.JsonPropertyName("finder_video_cover_image_url")] + public string? FinderVideoCoverImageMediaUrl { get; set; } + + /// + /// 获取或设置视频 ID。 + /// + [Newtonsoft.Json.JsonProperty("finder_video_id")] + [System.Text.Json.Serialization.JsonPropertyName("finder_video_id")] + public string? FinderVideoId { get; set; } + } + } + /// /// 获取或设置使用须知。 /// @@ -400,6 +427,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [Newtonsoft.Json.JsonProperty("coupon_image_url")] [System.Text.Json.Serialization.JsonPropertyName("coupon_image_url")] public string? CouponImageMediaUrl { get; set; } + + /// + /// 获取或设置视频号信息。 + /// + [Newtonsoft.Json.JsonProperty("finder_info")] + [System.Text.Json.Serialization.JsonPropertyName("finder_info")] + public Types.Finder? Finder { get; set; } } public class NotifyConfig @@ -515,14 +549,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("custom_entrance")] [System.Text.Json.Serialization.JsonPropertyName("custom_entrance")] - public Types.Entrance CustomEntrance { get; set; } = default!; + public Types.CustomEntrance CustomEntrance { get; set; } = default!; /// /// 获取或设置样式设置信息。 /// [Newtonsoft.Json.JsonProperty("display_pattern_info")] [System.Text.Json.Serialization.JsonPropertyName("display_pattern_info")] - public Types.Pattern DisplayPattern { get; set; } = default!; + public Types.DisplayPattern DisplayPattern { get; set; } = default!; /// /// 获取或设置事件通知配置信息。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UpdateMarketingBusifavorStockRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UpdateMarketingBusifavorStockRequest.cs index 49d3a6b6..4e16e2ef 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UpdateMarketingBusifavorStockRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UpdateMarketingBusifavorStockRequest.cs @@ -51,11 +51,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public string? MiniProgramPath { get; set; } } - public class Entrance : CreateMarketingBusifavorStockRequest.Types.Entrance + public class CustomEntrance : CreateMarketingBusifavorStockRequest.Types.CustomEntrance { } - public class Pattern : CreateMarketingBusifavorStockRequest.Types.Pattern + public class DisplayPattern : CreateMarketingBusifavorStockRequest.Types.DisplayPattern { } @@ -97,14 +97,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("custom_entrance")] [System.Text.Json.Serialization.JsonPropertyName("custom_entrance")] - public Types.Entrance? CustomEntrance { get; set; } + public Types.CustomEntrance? CustomEntrance { get; set; } /// /// 获取或设置样式设置信息。 /// [Newtonsoft.Json.JsonProperty("display_pattern_info")] [System.Text.Json.Serialization.JsonPropertyName("display_pattern_info")] - public Types.Pattern? DisplayPattern { get; set; } + public Types.DisplayPattern? DisplayPattern { get; set; } /// /// 获取或设置事件通知配置信息。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UsersCoupons/GetMarketingBusifavorUserCouponByCouponCodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UsersCoupons/GetMarketingBusifavorUserCouponByCouponCodeResponse.cs index 9013e978..6aba05e8 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UsersCoupons/GetMarketingBusifavorUserCouponByCouponCodeResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UsersCoupons/GetMarketingBusifavorUserCouponByCouponCodeResponse.cs @@ -14,11 +14,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { } - public class Entrance : GetMarketingBusifavorStockByStockIdResponse.Types.Entrance + public class CustomEntrance : GetMarketingBusifavorStockByStockIdResponse.Types.CustomEntrance { } - public class Pattern : GetMarketingBusifavorStockByStockIdResponse.Types.Pattern + public class DisplayPattern : GetMarketingBusifavorStockByStockIdResponse.Types.DisplayPattern { } } @@ -91,14 +91,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("custom_entrance")] [System.Text.Json.Serialization.JsonPropertyName("custom_entrance")] - public Types.Entrance? CustomEntrance { get; set; } + public Types.CustomEntrance? CustomEntrance { get; set; } /// /// 获取或设置样式设置信息。 /// [Newtonsoft.Json.JsonProperty("display_pattern_info")] [System.Text.Json.Serialization.JsonPropertyName("display_pattern_info")] - public Types.Pattern DisplayPattern { get; set; } = default!; + public Types.DisplayPattern DisplayPattern { get; set; } = default!; /// /// 获取或设置适用商品范围。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UsersCoupons/QueryMarketingBusifavorUserCouponsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UsersCoupons/QueryMarketingBusifavorUserCouponsResponse.cs index 7a39d334..f0733e5c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UsersCoupons/QueryMarketingBusifavorUserCouponsResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingBusifavor/UsersCoupons/QueryMarketingBusifavorUserCouponsResponse.cs @@ -18,11 +18,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { } - public class Entrance : GetMarketingBusifavorUserCouponByCouponCodeResponse.Types.Entrance + public class CustomEntrance : GetMarketingBusifavorUserCouponByCouponCodeResponse.Types.CustomEntrance { } - public class Pattern : GetMarketingBusifavorUserCouponByCouponCodeResponse.Types.Pattern + public class DisplayPattern : GetMarketingBusifavorUserCouponByCouponCodeResponse.Types.DisplayPattern { } } @@ -97,14 +97,14 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models /// [Newtonsoft.Json.JsonProperty("custom_entrance")] [System.Text.Json.Serialization.JsonPropertyName("custom_entrance")] - public Types.Entrance? CustomEntrance { get; set; } + public Types.CustomEntrance? CustomEntrance { get; set; } /// /// 获取或设置样式设置信息。 /// [Newtonsoft.Json.JsonProperty("display_pattern_info")] [System.Text.Json.Serialization.JsonPropertyName("display_pattern_info")] - public Types.Pattern DisplayPattern { get; set; } = default!; + public Types.DisplayPattern DisplayPattern { get; set; } = default!; /// /// 获取或设置适用商品范围。 diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingBusifavor/CreateMarketingBusifavorStockRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingBusifavor/CreateMarketingBusifavorStockRequest.json index 49f67209..3856496d 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingBusifavor/CreateMarketingBusifavorStockRequest.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingBusifavor/CreateMarketingBusifavorStockRequest.json @@ -63,7 +63,12 @@ "merchant_logo_url": "https://xxx", "merchant_name": "微信支付", "background_color": "Color020", - "coupon_image_url": "https://qpic.cn/xxx" + "coupon_image_url": "https://qpic.cn/xxx", + "finder_info": { + "finder_id": "sph6Rngt2T4RlUf", + "finder_video_cover_image_url": "https://wxpaylogo.qpic.cn/xxx", + "finder_video_id": "export/UzFfAgtgekIEAQAAAAAAb4MgnPInmAAAAAstQy6ubaLX4KHWvLEZgBPEwIEgVnk9HIP-zNPgMJofG6tpdGPJNg_ojtEjoT94" + } }, "coupon_code_mode": "WECHATPAY_MODE" } \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingBusifavor/GetMarketingBusifavorStockByStockIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingBusifavor/GetMarketingBusifavorStockByStockIdResponse.json index 1986c5ea..cf4d500a 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingBusifavor/GetMarketingBusifavorStockByStockIdResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingBusifavor/GetMarketingBusifavorStockByStockIdResponse.json @@ -63,7 +63,12 @@ "merchant_logo_url": "https://xxx", "merchant_name": "微信支付", "background_color": "Color020", - "coupon_image_url": "https://qpic.cn/xxx" + "coupon_image_url": "https://qpic.cn/xxx", + "finder_info": { + "finder_id": "sph6Rngt2T4RlUf", + "finder_video_cover_image_url": "https://wxpaylogo.qpic.cn/xxx", + "finder_video_id": "export/UzFfAgtgekIEAQAAAAAAb4MgnPInmAAAAAstQy6ubaLX4KHWvLEZgBPEwIEgVnk9HIP-zNPgMJofG6tpdGPJNg_ojtEjoT94" + } }, "stock_state": "RUNNING", "coupon_code_mode": "MERCHANT_UPLOAD",