diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingFavorExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingFavorExtensions.cs index 4d57ed1a..27693283 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingFavorExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingFavorExtensions.cs @@ -347,10 +347,11 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 .CreateFlurlRequest(request, HttpMethod.Get, "marketing", "favor", "users", request.OpenId, "coupons") .SetQueryParam("appid", request.AppId) .SetQueryParam("stock_id", request.StockId) - .SetQueryParam("status", request.Status) .SetQueryParam("creator_mchid", request.CreatorMerchantId) .SetQueryParam("sender_mchid", request.SenderMerchantId) .SetQueryParam("available_mchid", request.AvailableMerchantId) + .SetQueryParam("status", request.Status) + .SetQueryParam("business_type", request.BusinessType) .SetQueryParam("limit", request.Limit) .SetQueryParam("offset", request.Offset); diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/GetMarketingFavorStockByStockIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/GetMarketingFavorStockByStockIdResponse.cs index 1185a8f3..7b0dfa76 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/GetMarketingFavorStockByStockIdResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/GetMarketingFavorStockByStockIdResponse.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { @@ -111,6 +111,44 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("cut_to_price")] public int CutToPrice { get; set; } } + + public class AvailableRegion + { + /// + /// 获取或设置类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置国家。 + /// + [Newtonsoft.Json.JsonProperty("country")] + [System.Text.Json.Serialization.JsonPropertyName("country")] + public string? Country { get; set; } + + /// + /// 获取或设置省份。 + /// + [Newtonsoft.Json.JsonProperty("province")] + [System.Text.Json.Serialization.JsonPropertyName("province")] + public string? Province { get; set; } + + /// + /// 获取或设置城市。 + /// + [Newtonsoft.Json.JsonProperty("city")] + [System.Text.Json.Serialization.JsonPropertyName("city")] + public string? City { get; set; } + + /// + /// 获取或设置区县。 + /// + [Newtonsoft.Json.JsonProperty("district")] + [System.Text.Json.Serialization.JsonPropertyName("district")] + public string? District { get; set; } = default!; + } } /// @@ -187,6 +225,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("distributed_coupons")] public int DistributedCoupons { get; set; } + /// + /// 获取或设置消费卡 ID。 + /// + [Newtonsoft.Json.JsonProperty("card_id")] + [System.Text.Json.Serialization.JsonPropertyName("card_id")] + public string? CardId { get; set; } + /// /// 获取或设置是否无资金流。 /// @@ -226,6 +271,27 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] public DateTimeOffset? StopTime { get; set; } + /// + /// 获取或设置业务类型。 + /// + [Newtonsoft.Json.JsonProperty("business_type")] + [System.Text.Json.Serialization.JsonPropertyName("business_type")] + public string? BusinessType { get; set; } + + /// + /// 获取或设置消费金可用地域列表。 + /// + [Newtonsoft.Json.JsonProperty("available_region_list")] + [System.Text.Json.Serialization.JsonPropertyName("available_region_list")] + public Types.AvailableRegion[]? AvailableRegionList { get; set; } + + /// + /// 获取或设置消费金可用行业列表。 + /// + [Newtonsoft.Json.JsonProperty("available_industry_list")] + [System.Text.Json.Serialization.JsonPropertyName("available_industry_list")] + public string[]? AvailableIndustryList { get; set; } + /// /// 获取或设置创建时间。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/QueryMarketingFavorStocksResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/QueryMarketingFavorStocksResponse.cs index 09cb173f..41515d2e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/QueryMarketingFavorStocksResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/QueryMarketingFavorStocksResponse.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { @@ -20,6 +20,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models public class CutToMessage : GetMarketingFavorStockByStockIdResponse.Types.CutToMessage { } + + public class AvailableRegion : GetMarketingFavorStockByStockIdResponse.Types.AvailableRegion + { + } } /// @@ -96,6 +100,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("distributed_coupons")] public int DistributedCoupons { get; set; } + /// + /// 获取或设置消费卡 ID。 + /// + [Newtonsoft.Json.JsonProperty("card_id")] + [System.Text.Json.Serialization.JsonPropertyName("card_id")] + public string? CardId { get; set; } + /// /// 获取或设置是否无资金流。 /// @@ -135,6 +146,27 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))] public DateTimeOffset? StopTime { get; set; } + /// + /// 获取或设置业务类型。 + /// + [Newtonsoft.Json.JsonProperty("business_type")] + [System.Text.Json.Serialization.JsonPropertyName("business_type")] + public string? BusinessType { get; set; } + + /// + /// 获取或设置消费金可用地域列表。 + /// + [Newtonsoft.Json.JsonProperty("available_region_list")] + [System.Text.Json.Serialization.JsonPropertyName("available_region_list")] + public Types.AvailableRegion[]? AvailableRegionList { get; set; } + + /// + /// 获取或设置消费金可用行业列表。 + /// + [Newtonsoft.Json.JsonProperty("available_industry_list")] + [System.Text.Json.Serialization.JsonPropertyName("available_industry_list")] + public string[]? AvailableIndustryList { get; set; } + /// /// 获取或设置创建时间。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/GetMarketingFavorUserCouponByCouponIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/GetMarketingFavorUserCouponByCouponIdResponse.cs index 1331c119..3e6c3622 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/GetMarketingFavorUserCouponByCouponIdResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/GetMarketingFavorUserCouponByCouponIdResponse.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { @@ -79,6 +79,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("coupon_type")] public string CouponType { get; set; } = default!; + /// + /// 获取或设置商户单据号。 + /// + [Newtonsoft.Json.JsonProperty("out_request_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_request_no")] + public string OutRequestNumber { get; set; } = default!; + /// /// 获取或设置券状态。 /// @@ -146,6 +153,20 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("normal_coupon_information")] public Types.NormalCoupon? NormalCoupon { get; set; } + /// + /// 获取或设置可用余额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("available_balance")] + [System.Text.Json.Serialization.JsonPropertyName("available_balance")] + public int? AvailableBalance { get; set; } + + /// + /// 获取或设置业务类型。 + /// + [Newtonsoft.Json.JsonProperty("business_type")] + [System.Text.Json.Serialization.JsonPropertyName("business_type")] + public string? BusinessType { get; set; } + /// /// 获取或设置领券时间。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsRequest.cs index efe49460..e1b10b84 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsRequest.cs @@ -1,4 +1,4 @@ -namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { /// /// 表示 [GET] /marketing/favor/users/{openid}/coupons 接口的请求。 @@ -54,6 +54,13 @@ [System.Text.Json.Serialization.JsonIgnore] public string? Status { get; set; } + /// + /// 获取或设置业务类型。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? BusinessType { get; set; } + /// /// 获取或设置分页大小。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsResponse.cs index 518d1407..52c376aa 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsResponse.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models { @@ -124,6 +124,13 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("coupon_type")] public string CouponType { get; set; } = default!; + /// + /// 获取或设置商户单据号。 + /// + [Newtonsoft.Json.JsonProperty("out_request_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_request_no")] + public string OutRequestNumber { get; set; } = default!; + /// /// 获取或设置券状态。 /// @@ -198,6 +205,20 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models [System.Text.Json.Serialization.JsonPropertyName("consume_information")] public Types.Consumption? Consumption { get; set; } + /// + /// 获取或设置可用余额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("available_balance")] + [System.Text.Json.Serialization.JsonPropertyName("available_balance")] + public int? AvailableBalance { get; set; } + + /// + /// 获取或设置业务类型。 + /// + [Newtonsoft.Json.JsonProperty("business_type")] + [System.Text.Json.Serialization.JsonPropertyName("business_type")] + public string? BusinessType { get; set; } + /// /// 获取或设置领券时间。 /// diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/GetMarketingFavorStockByStockIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/GetMarketingFavorStockByStockIdResponse.json index 706a8cd8..ebb07abe 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/GetMarketingFavorStockByStockIdResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/GetMarketingFavorStockByStockIdResponse.json @@ -1,4 +1,4 @@ -{ +{ "stock_id": "9836588", "stock_creator_mchid": "123456", "stock_name": "微信支付批次", @@ -9,17 +9,44 @@ "max_coupons": 100, "max_amount": 5000, "max_amount_by_day": 400, + "fixed_normal_coupon": { + "coupon_amount": 100, + "transaction_minimum": 100 + }, "max_coupons_per_user": 3, - "trade_type": ["OTHER", "APPPAY"] + "coupon_type": "NORMAL", + "goods_tag": [ + "123456" + ], + "trade_type": [ + "MICROAPP" + ], + "combine_use": true }, "available_begin_time": "2015-05-20T13:29:35.120+08:00", "available_end_time": "2015-05-20T13:29:35.120+08:00", "distributed_coupons": 100, "no_cash": true, + "start_time": "2015-05-20T13:29:35.120+08:00", + "stop_time": "2015-05-20T13:29:35.120+08:00", "cut_to_message": { "single_price_max": 100, - "cut_to_price": 5000 + "cut_to_price": 80 }, "singleitem": true, - "stock_type": "NORMAL" + "stock_type": "NORMAL", + "card_id": "pX2-vjoeC94Nn-r2g5GjDwkfFH7E", + "business_type": "MULTIUSE", + "available_region_list": [ + { + "type": "PROVINCE", + "province": "广东省", + "city": "深圳市", + "district": "南山区", + "country": "中国大陆" + } + ], + "available_industry_list": [ + "餐饮" + ] } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/QueryMarketingFavorStocksResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/QueryMarketingFavorStocksResponse.json index d81915fd..34e79f2f 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/QueryMarketingFavorStocksResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/QueryMarketingFavorStocksResponse.json @@ -1,4 +1,4 @@ -{ +{ "total_count": 10, "data": [ { @@ -17,14 +17,27 @@ "transaction_minimum": 100 }, "max_coupons_per_user": 3, - "trade_type": ["OTHER", "APPPAY"] + "trade_type": [ "OTHER", "APPPAY" ] }, "available_begin_time": "2015-05-20T13:29:35.120+08:00", "available_end_time": "2015-05-20T13:29:35.120+08:00", "distributed_coupons": 100, "no_cash": true, "singleitem": true, - "stock_type": "NORMAL" + "stock_type": "NORMAL", + "business_type": "MULTIUSE", + "available_region_list": [ + { + "type": "PROVINCE", + "province": "广东省", + "city": "深圳市", + "district": "南山区", + "country": "中国大陆" + } + ], + "available_industry_list": [ + "餐饮" + ] } ], "limit": 8, diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/UsersCoupons/GetMarketingFavorUserCouponByCouponIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/UsersCoupons/GetMarketingFavorUserCouponByCouponIdResponse.json index 01428517..da394368 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/UsersCoupons/GetMarketingFavorUserCouponByCouponIdResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/UsersCoupons/GetMarketingFavorUserCouponByCouponIdResponse.json @@ -1,22 +1,25 @@ -{ +{ "stock_creator_mchid": "9800064", "stock_id": "9865888", "coupon_id": "98674556", "cut_to_message": { "single_price_max": 100, - "cut_to_price": 100 + "cut_to_price": 80 }, "coupon_name": "微信支付代金券", "status": "EXPIRED", "description": "微信支付营销", "create_time": "2015-05-20T13:29:35.120+08:00", "coupon_type": "CUT_TO", - "no_cash": true, + "no_cash": false, "available_begin_time": "2015-05-20T13:29:35.120+08:00", "available_end_time": "2015-05-20T13:29:35.120+08:00", - "singleitem": true, + "singleitem": false, "normal_coupon_information": { "coupon_amount": 100, "transaction_minimum": 100 - } + }, + "out_request_no": "example_out_request_no", + "available_balance": 10000, + "business_type": "MULTIUSE" } diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsResponse.json index 00a0147d..fc2113d9 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsResponse.json +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/_/MarketingFavor/UsersCoupons/QueryMarketingFavorUserCouponsResponse.json @@ -1,4 +1,4 @@ -{ +{ "data": [ { "stock_creator_mchid": "9800064", @@ -33,7 +33,10 @@ "discount_amount": 4 } ] - } + }, + "out_request_no": "example_out_request_no", + "available_balance": 10000, + "business_type": "MULTIUSE" } ], "total_count": 100,