diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardActivityExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardActivityExtensions.cs new file mode 100644 index 00000000..d5f62a27 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMemberCardActivityExtensions.cs @@ -0,0 +1,86 @@ +using System; +using System.Net.Http; +using System.Threading; +using System.Threading.Tasks; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3 +{ + /// + /// 为 提供会员卡有礼相关的 API 扩展方法。 + /// + public static class WechatTenpayClientExecuteMarketingMemberCardActivityExtensions + { + /// + /// 异步调用 [POST] /marketing/membercard-activity/activities 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter8_1.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteCreateMarketingMemberCardActivityAsync(this WechatTenpayClient client, Models.CreateMarketingMemberCardActivityRequest 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, "marketing", "membercard-activity", "activities"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /marketing/membercard-activity/activities 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter8_3.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteQueryMarketingMemberCardActivitiesAsync(this WechatTenpayClient client, Models.QueryMarketingMemberCardActivitiesRequest 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.Get, "marketing", "membercard-activity", "activities"); + + if (request.CardId != null) + flurlReq.SetQueryParam("card_id", request.CardId); + + if (request.ActivityType != null) + flurlReq.SetQueryParam("activity_type", request.ActivityType); + + if (request.ActivityStatus != null) + flurlReq.SetQueryParam("activity_status", request.ActivityStatus); + + if (request.Limit != null) + flurlReq.SetQueryParam("limit", request.Limit.Value.ToString()); + + if (request.Offset != null) + flurlReq.SetQueryParam("offset", request.Offset.Value.ToString()); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /marketing/membercard-activity/activities/{activity_id} 接口。 + /// REF: https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/marketing/membercard_open/chapter8_4.shtml + /// + /// + /// + /// + /// + public static async Task ExecuteGetMarketingMemberCardActivityByActivityIdAsync(this WechatTenpayClient client, Models.GetMarketingMemberCardActivityByActivityIdRequest 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.Get, "marketing", "membercard-activity", "activities", request.ActivityId); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.cs new file mode 100644 index 00000000..18050350 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.cs @@ -0,0 +1,336 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /marketing/membercard-activity/activities 接口的请求。 + /// + public class CreateMarketingMemberCardActivityRequest : WechatTenpayRequest + { + public static class Types + { + public class AwardSendPeriod + { + public static class Types + { + public class AwardSendTime + { + /// + /// 获取或设置开始时间。 + /// + [Newtonsoft.Json.JsonProperty("begin_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("begin_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset BeginTime { get; set; } + + /// + /// 获取或设置结束时间。 + /// + [Newtonsoft.Json.JsonProperty("end_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("end_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset EndTime { get; set; } + } + + public class AwardSendDayTime + { + public static class Types + { + public class DayTime : GetMarketingMemberCardActivityByActivityIdResponse.Types.AwardSendPeriod.Types.AwardSendDayTime.Types.DayTime + { + } + } + + /// + /// 获取或设置每日可用开始时间。 + /// + [Newtonsoft.Json.JsonProperty("begin_day_time")] + [System.Text.Json.Serialization.JsonPropertyName("begin_day_time")] + public Types.DayTime BeginDayTime { get; set; } = new Types.DayTime(); + + /// + /// 获取或设置每日可用结束时间。 + /// + [Newtonsoft.Json.JsonProperty("end_day_time")] + [System.Text.Json.Serialization.JsonPropertyName("end_day_time")] + public Types.DayTime EndDayTime { get; set; } = new Types.DayTime(); + } + } + + /// + /// 获取或设置有效期内指定部分活动时间段列表。 + /// + [Newtonsoft.Json.JsonProperty("award_send_time")] + [System.Text.Json.Serialization.JsonPropertyName("award_send_time")] + public Types.AwardSendTime[]? AwardSendTimeList { get; set; } + + /// + /// 获取或设置指定时间段列表。 + /// + [Newtonsoft.Json.JsonProperty("award_send_day_time")] + [System.Text.Json.Serialization.JsonPropertyName("award_send_day_time")] + public Types.AwardSendDayTime[]? AwardSendDayTimeList { get; set; } + } + + public class Stock + { + /// + /// 获取或设置批次号。 + /// + [Newtonsoft.Json.JsonProperty("stock_id")] + [System.Text.Json.Serialization.JsonPropertyName("stock_id")] + public string StockId { get; set; } = string.Empty; + + /// + /// 获取或设置创建批次的商户号。 + /// + [Newtonsoft.Json.JsonProperty("stock_creator_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("stock_creator_mchid")] + public string? StockCreatorMerchantId { get; set; } + } + + public class PayActivitySetting + { + public static class Types + { + public class ActivateSetting + { + public static class Types + { + public class MiniProgram + { + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("activate_appid")] + [System.Text.Json.Serialization.JsonPropertyName("activate_appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("activate_path")] + [System.Text.Json.Serialization.JsonPropertyName("activate_path")] + public string Path { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置激活类型。 + /// + [Newtonsoft.Json.JsonProperty("activate_type")] + [System.Text.Json.Serialization.JsonPropertyName("activate_type")] + public string ActivateType { get; set; } = string.Empty; + + /// + /// 获取或设置激活跳转的 URL。 + /// + [Newtonsoft.Json.JsonProperty("activate_url")] + [System.Text.Json.Serialization.JsonPropertyName("activate_url")] + public string? ActivateUrl { get; set; } + + /// + /// 获取或设置激活跳转的小程序信息。 + /// + [Newtonsoft.Json.JsonProperty("activate_miniprogram")] + [System.Text.Json.Serialization.JsonPropertyName("activate_miniprogram")] + public Types.MiniProgram? ActivateMiniProgram { get; set; } + } + + public class PaymentSetting + { + public static class Types + { + public class PaymentMode + { + /// + /// 获取或设置支付场景值列表。 + /// + [Newtonsoft.Json.JsonProperty("payment_scene_list")] + [System.Text.Json.Serialization.JsonPropertyName("payment_scene_list")] + public IList? PaymentSceneList { get; set; } + } + } + + /// + /// 获取或设置限定支付模式信息。 + /// + [Newtonsoft.Json.JsonProperty("payment_mode")] + [System.Text.Json.Serialization.JsonPropertyName("payment_mode")] + public Types.PaymentMode? LimitPaymentMode { get; set; } + + /// + /// 获取或设置限定银行简称。 + /// + [Newtonsoft.Json.JsonProperty("limit_bank")] + [System.Text.Json.Serialization.JsonPropertyName("limit_bank")] + public string? LimitBankName { get; set; } + + /// + /// 获取或设置限定订单优惠标记列表。 + /// + [Newtonsoft.Json.JsonProperty("goods_tags")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tags")] + public IList? LimitGoodsTagList { get; set; } + } + } + + /// + /// 获取或设置会员卡 Logo 媒体文件地址。 + /// + [Newtonsoft.Json.JsonProperty("logo_url")] + [System.Text.Json.Serialization.JsonPropertyName("logo_url")] + public string? LogoMediaUrl { get; set; } + + /// + /// 获取或设置支付结果页活动副标题。 + /// + [Newtonsoft.Json.JsonProperty("activity_second_title")] + [System.Text.Json.Serialization.JsonPropertyName("activity_second_title")] + public string? ActivitySecondTitle { get; set; } + + /// + /// 获取或设置活动曝光商户号列表。 + /// + [Newtonsoft.Json.JsonProperty("mchid_list")] + [System.Text.Json.Serialization.JsonPropertyName("mchid_list")] + public IList MerchantIdList { get; set; } = new List(); + + /// + /// 获取或设置激活方式设置。 + /// + [Newtonsoft.Json.JsonProperty("activate_setting")] + [System.Text.Json.Serialization.JsonPropertyName("activate_setting")] + public Types.ActivateSetting? ActivateSetting { get; set; } + + /// + /// 获取或设置支付设置。 + /// + [Newtonsoft.Json.JsonProperty("payment_setting")] + [System.Text.Json.Serialization.JsonPropertyName("payment_setting")] + public Types.PaymentSetting? PaymentSetting { get; set; } + } + + public class MiniProgramActivitySetting + { + public static class Types + { + public class AwardSetting + { + /// + /// 获取或设置跳转按钮文案。 + /// + [Newtonsoft.Json.JsonProperty("button_text")] + [System.Text.Json.Serialization.JsonPropertyName("button_text")] + public string? ButtonText { get; set; } + + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("mini_program_appid")] + [System.Text.Json.Serialization.JsonPropertyName("mini_program_appid")] + public string? MiniProgramAppId { get; set; } + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("mini_program_path")] + [System.Text.Json.Serialization.JsonPropertyName("mini_program_path")] + public string? MiniProgramPath { get; set; } + } + } + + /// + /// 获取或设置领取渠道列表。 + /// + [Newtonsoft.Json.JsonProperty("outer_str")] + [System.Text.Json.Serialization.JsonPropertyName("outer_str")] + public List? OuterString { get; set; } + + /// + /// 获取或设置领奖页面跳转配置信息。 + /// + [Newtonsoft.Json.JsonProperty("award_jump_deploy")] + [System.Text.Json.Serialization.JsonPropertyName("award_jump_deploy")] + public Types.AwardSetting? AwardSetting { get; set; } + } + } + + /// + /// 获取或设置会员卡 ID。 + /// + [Newtonsoft.Json.JsonProperty("card_id")] + [System.Text.Json.Serialization.JsonPropertyName("card_id")] + public string CardId { get; set; } = string.Empty; + + /// + /// 获取或设置活动名称。 + /// + [Newtonsoft.Json.JsonProperty("activity_name")] + [System.Text.Json.Serialization.JsonPropertyName("activity_name")] + public string ActivityName { get; set; } = string.Empty; + + /// + /// 获取或设置活动类型。 + /// + [Newtonsoft.Json.JsonProperty("activity_type")] + [System.Text.Json.Serialization.JsonPropertyName("activity_type")] + public string ActivityType { get; set; } = string.Empty; + + /// + /// 获取或设置活动开始时间。 + /// + [Newtonsoft.Json.JsonProperty("begin_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("begin_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? BeginTime { get; set; } + + /// + /// 获取或设置活动结束时间。 + /// + [Newtonsoft.Json.JsonProperty("end_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("end_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? EndTime { get; set; } + + /// + /// 获取或设置发放时间段信息。 + /// + [Newtonsoft.Json.JsonProperty("award_send_period")] + [System.Text.Json.Serialization.JsonPropertyName("award_send_period")] + public Types.AwardSendPeriod? AwardSendPeriod { get; set; } + + /// + /// 获取或设置优惠券批次列表。 + /// + [Newtonsoft.Json.JsonProperty("stock_list")] + [System.Text.Json.Serialization.JsonPropertyName("stock_list")] + public IList StockList { get; set; } = new List(); + + /// + /// 获取或设置商户请求单号。 + /// + [Newtonsoft.Json.JsonProperty("out_request_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_request_no")] + public string OutRequestNumber { get; set; } = string.Empty; + + /// + /// 获取或设置支付后活动设置信息。 + /// + [Newtonsoft.Json.JsonProperty("pay_activity_setting")] + [System.Text.Json.Serialization.JsonPropertyName("pay_activity_setting")] + public Types.PayActivitySetting? PayActivitySetting { get; set; } + + /// + /// 获取或设置支付前会员活动设置。 + /// + [Newtonsoft.Json.JsonProperty("miniprogram_activity_setting")] + [System.Text.Json.Serialization.JsonPropertyName("miniprogram_activity_setting")] + public Types.MiniProgramActivitySetting? MiniProgramActivitySetting { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.cs new file mode 100644 index 00000000..518a6e00 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /marketing/membercard-activity/activities 接口的响应。 + /// + public class CreateMarketingMemberCardActivityResponse : GetMarketingMemberCardActivityByActivityIdResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.cs new file mode 100644 index 00000000..70303c74 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /marketing/membercard-activity/activities/{activity_id} 接口的请求。 + /// + public class GetMarketingMemberCardActivityByActivityIdRequest : WechatTenpayRequest + { + /// + /// 获取或设置会员卡 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ActivityId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.cs new file mode 100644 index 00000000..7d931b39 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.cs @@ -0,0 +1,387 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /marketing/membercard-activity/activities/{activity_id} 接口的响应。 + /// + public class GetMarketingMemberCardActivityByActivityIdResponse : WechatTenpayResponse + { + public static class Types + { + public class AwardSendPeriod + { + public static class Types + { + public class AwardSendTime + { + /// + /// 获取或设置开始时间。 + /// + [Newtonsoft.Json.JsonProperty("begin_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("begin_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset BeginTime { get; set; } + + /// + /// 获取或设置结束时间。 + /// + [Newtonsoft.Json.JsonProperty("end_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("end_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset EndTime { get; set; } + } + + public class AwardSendDayTime + { + public static class Types + { + public class DayTime + { + /// + /// 获取或设置时。 + /// + [Newtonsoft.Json.JsonProperty("hours")] + [System.Text.Json.Serialization.JsonPropertyName("hours")] + public int Hours { get; set; } + + /// + /// 获取或设置时。 + /// + [Newtonsoft.Json.JsonProperty("minutes")] + [System.Text.Json.Serialization.JsonPropertyName("minutes")] + public int Minutes { get; set; } + + /// + /// 获取或设置时。 + /// + [Newtonsoft.Json.JsonProperty("seconds")] + [System.Text.Json.Serialization.JsonPropertyName("seconds")] + public int Seconds { get; set; } + } + } + + /// + /// 获取或设置每日可用开始时间。 + /// + [Newtonsoft.Json.JsonProperty("begin_day_time")] + [System.Text.Json.Serialization.JsonPropertyName("begin_day_time")] + public Types.DayTime BeginDayTime { get; set; } = default!; + + /// + /// 获取或设置每日可用结束时间。 + /// + [Newtonsoft.Json.JsonProperty("end_day_time")] + [System.Text.Json.Serialization.JsonPropertyName("end_day_time")] + public Types.DayTime EndDayTime { get; set; } = default!; + } + } + + /// + /// 获取或设置有效期内指定部分活动时间段列表。 + /// + [Newtonsoft.Json.JsonProperty("award_send_time")] + [System.Text.Json.Serialization.JsonPropertyName("award_send_time")] + public Types.AwardSendTime[]? AwardSendTimeList { get; set; } + + /// + /// 获取或设置指定时间段列表。 + /// + [Newtonsoft.Json.JsonProperty("award_send_day_time")] + [System.Text.Json.Serialization.JsonPropertyName("award_send_day_time")] + public Types.AwardSendDayTime[]? AwardSendDayTimeList { get; set; } + } + + public class Stock + { + /// + /// 获取或设置批次号。 + /// + [Newtonsoft.Json.JsonProperty("stock_id")] + [System.Text.Json.Serialization.JsonPropertyName("stock_id")] + public string StockId { get; set; } = default!; + + /// + /// 获取或设置创建批次的商户号。 + /// + [Newtonsoft.Json.JsonProperty("stock_creator_mchid")] + [System.Text.Json.Serialization.JsonPropertyName("stock_creator_mchid")] + public string? StockCreatorMerchantId { get; set; } + } + + public class PayActivitySetting + { + public static class Types + { + public class ActivateSetting + { + public static class Types + { + public class MiniProgram + { + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("activate_appid")] + [System.Text.Json.Serialization.JsonPropertyName("activate_appid")] + public string AppId { get; set; } = default!; + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("activate_path")] + [System.Text.Json.Serialization.JsonPropertyName("activate_path")] + public string Path { get; set; } = default!; + } + } + + /// + /// 获取或设置激活类型。 + /// + [Newtonsoft.Json.JsonProperty("activate_type")] + [System.Text.Json.Serialization.JsonPropertyName("activate_type")] + public string ActivateType { get; set; } = default!; + + /// + /// 获取或设置激活跳转的 URL。 + /// + [Newtonsoft.Json.JsonProperty("activate_url")] + [System.Text.Json.Serialization.JsonPropertyName("activate_url")] + public string? ActivateUrl { get; set; } + + /// + /// 获取或设置激活跳转的小程序信息。 + /// + [Newtonsoft.Json.JsonProperty("activate_miniprogram")] + [System.Text.Json.Serialization.JsonPropertyName("activate_miniprogram")] + public Types.MiniProgram? ActivateMiniProgram { get; set; } + } + + public class PaymentSetting + { + public static class Types + { + public class PaymentMode + { + /// + /// 获取或设置支付场景值列表。 + /// + [Newtonsoft.Json.JsonProperty("payment_scene_list")] + [System.Text.Json.Serialization.JsonPropertyName("payment_scene_list")] + public string[]? PaymentSceneList { get; set; } + } + } + + /// + /// 获取或设置限定支付模式信息。 + /// + [Newtonsoft.Json.JsonProperty("payment_mode")] + [System.Text.Json.Serialization.JsonPropertyName("payment_mode")] + public Types.PaymentMode? LimitPaymentMode { get; set; } + + /// + /// 获取或设置限定银行简称。 + /// + [Newtonsoft.Json.JsonProperty("limit_bank")] + [System.Text.Json.Serialization.JsonPropertyName("limit_bank")] + public string? LimitBankName { get; set; } + + /// + /// 获取或设置限定订单优惠标记列表。 + /// + [Newtonsoft.Json.JsonProperty("goods_tags")] + [System.Text.Json.Serialization.JsonPropertyName("goods_tags")] + public string[]? LimitGoodsTagList { get; set; } + } + } + + /// + /// 获取或设置会员卡 Logo 媒体文件地址。 + /// + [Newtonsoft.Json.JsonProperty("logo_url")] + [System.Text.Json.Serialization.JsonPropertyName("logo_url")] + public string? LogoMediaUrl { get; set; } + + /// + /// 获取或设置支付结果页活动副标题。 + /// + [Newtonsoft.Json.JsonProperty("activity_second_title")] + [System.Text.Json.Serialization.JsonPropertyName("activity_second_title")] + public string? ActivitySecondTitle { get; set; } + + /// + /// 获取或设置活动曝光商户号列表。 + /// + [Newtonsoft.Json.JsonProperty("mchid_list")] + [System.Text.Json.Serialization.JsonPropertyName("mchid_list")] + public string[] MerchantIdList { get; set; } = default!; + + /// + /// 获取或设置激活方式设置。 + /// + [Newtonsoft.Json.JsonProperty("activate_setting")] + [System.Text.Json.Serialization.JsonPropertyName("activate_setting")] + public Types.ActivateSetting? ActivateSetting { get; set; } + + /// + /// 获取或设置支付设置。 + /// + [Newtonsoft.Json.JsonProperty("payment_setting")] + [System.Text.Json.Serialization.JsonPropertyName("payment_setting")] + public Types.PaymentSetting? PaymentSetting { get; set; } + } + + public class MiniProgramActivitySetting + { + public static class Types + { + public class AwardSetting + { + /// + /// 获取或设置跳转按钮文案。 + /// + [Newtonsoft.Json.JsonProperty("button_text")] + [System.Text.Json.Serialization.JsonPropertyName("button_text")] + public string? ButtonText { get; set; } + + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("mini_program_appid")] + [System.Text.Json.Serialization.JsonPropertyName("mini_program_appid")] + public string? MiniProgramAppId { get; set; } + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("mini_program_path")] + [System.Text.Json.Serialization.JsonPropertyName("mini_program_path")] + public string? MiniProgramPath { get; set; } + } + } + + /// + /// 获取或设置领取渠道列表。 + /// + [Newtonsoft.Json.JsonProperty("outer_str")] + [System.Text.Json.Serialization.JsonPropertyName("outer_str")] + public string[]? OuterStringList { get; set; } + + /// + /// 获取或设置领奖页面跳转配置信息。 + /// + [Newtonsoft.Json.JsonProperty("award_jump_deploy")] + [System.Text.Json.Serialization.JsonPropertyName("award_jump_deploy")] + public Types.AwardSetting? AwardSetting { get; set; } + } + } + + /// + /// 获取或设置会员卡 ID。 + /// + [Newtonsoft.Json.JsonProperty("card_id")] + [System.Text.Json.Serialization.JsonPropertyName("card_id")] + public string CardId { get; set; } = default!; + + /// + /// 获取或设置活动 ID。 + /// + [Newtonsoft.Json.JsonProperty("activity_id")] + [System.Text.Json.Serialization.JsonPropertyName("activity_id")] + public string ActivityId { get; set; } = default!; + + /// + /// 获取或设置活动名称。 + /// + [Newtonsoft.Json.JsonProperty("activity_name")] + [System.Text.Json.Serialization.JsonPropertyName("activity_name")] + public string ActivityName { get; set; } = default!; + + /// + /// 获取或设置活动类型。 + /// + [Newtonsoft.Json.JsonProperty("activity_type")] + [System.Text.Json.Serialization.JsonPropertyName("activity_type")] + public string ActivityType { get; set; } = default!; + + /// + /// 获取或设置活动状态。 + /// + [Newtonsoft.Json.JsonProperty("activity_status")] + [System.Text.Json.Serialization.JsonPropertyName("activity_status")] + public string ActivityStatus { get; set; } = default!; + + /// + /// 获取或设置活动开始时间。 + /// + [Newtonsoft.Json.JsonProperty("begin_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("begin_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? BeginTime { get; set; } + + /// + /// 获取或设置活动结束时间。 + /// + [Newtonsoft.Json.JsonProperty("end_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("end_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? EndTime { get; set; } + + /// + /// 获取或设置发放时间段信息。 + /// + [Newtonsoft.Json.JsonProperty("award_send_period")] + [System.Text.Json.Serialization.JsonPropertyName("award_send_period")] + public Types.AwardSendPeriod? AwardSendPeriod { get; set; } + + /// + /// 获取或设置优惠券批次列表。 + /// + [Newtonsoft.Json.JsonProperty("stock_list")] + [System.Text.Json.Serialization.JsonPropertyName("stock_list")] + public Types.Stock[]? StockList { get; set; } = default!; + + /// + /// 获取或设置商户请求单号。 + /// + [Newtonsoft.Json.JsonProperty("out_request_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_request_no")] + public string OutRequestNumber { get; set; } = default!; + + /// + /// 获取或设置支付后活动设置信息。 + /// + [Newtonsoft.Json.JsonProperty("pay_activity_setting")] + [System.Text.Json.Serialization.JsonPropertyName("pay_activity_setting")] + public Types.PayActivitySetting? PayActivitySetting { get; set; } + + /// + /// 获取或设置支付前会员活动设置。 + /// + [Newtonsoft.Json.JsonProperty("miniprogram_activity_setting")] + [System.Text.Json.Serialization.JsonPropertyName("miniprogram_activity_setting")] + public Types.MiniProgramActivitySetting? MiniProgramActivitySetting { get; set; } + + /// + /// 获取或设置更新时间。 + /// + [Newtonsoft.Json.JsonProperty("update_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("update_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset UpdateTime { get; set; } + + /// + /// 获取或设置创建时间。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset CreateTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.cs new file mode 100644 index 00000000..93ca276a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.cs @@ -0,0 +1,43 @@ +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /marketing/membercard-activity/activities 接口的请求。 + /// + public class QueryMarketingMemberCardActivitiesRequest : WechatTenpayRequest + { + /// + /// 获取或设置会员卡 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? CardId { get; set; } + + /// + /// 获取或设置活动类型。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? ActivityType { get; set; } + + /// + /// 获取或设置活动状态。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string? ActivityStatus { get; set; } + + /// + /// 获取或设置分页大小。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int? Limit { get; set; } + + /// + /// 获取或设置分页开始位置。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int? Offset { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.cs new file mode 100644 index 00000000..abf008ef --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.cs @@ -0,0 +1,169 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [GET] /marketing/membercard-activity/activities 接口的响应。 + /// + public class QueryMarketingMemberCardActivitiesResponse : WechatTenpayResponse + { + public static class Types + { + public class Activity + { + public static class Types + { + public class AwardSendPeriod : GetMarketingMemberCardActivityByActivityIdResponse.Types.AwardSendPeriod + { + } + + public class Stock : GetMarketingMemberCardActivityByActivityIdResponse.Types.Stock + { + } + + public class PayActivitySetting : GetMarketingMemberCardActivityByActivityIdResponse.Types.PayActivitySetting + { + } + + public class MiniProgramActivitySetting : GetMarketingMemberCardActivityByActivityIdResponse.Types.MiniProgramActivitySetting + { + } + } + + /// + /// 获取或设置会员卡 ID。 + /// + [Newtonsoft.Json.JsonProperty("card_id")] + [System.Text.Json.Serialization.JsonPropertyName("card_id")] + public string CardId { get; set; } = default!; + + /// + /// 获取或设置活动 ID。 + /// + [Newtonsoft.Json.JsonProperty("activity_id")] + [System.Text.Json.Serialization.JsonPropertyName("activity_id")] + public string ActivityId { get; set; } = default!; + + /// + /// 获取或设置活动名称。 + /// + [Newtonsoft.Json.JsonProperty("activity_name")] + [System.Text.Json.Serialization.JsonPropertyName("activity_name")] + public string ActivityName { get; set; } = default!; + + /// + /// 获取或设置活动类型。 + /// + [Newtonsoft.Json.JsonProperty("activity_type")] + [System.Text.Json.Serialization.JsonPropertyName("activity_type")] + public string ActivityType { get; set; } = default!; + + /// + /// 获取或设置活动状态。 + /// + [Newtonsoft.Json.JsonProperty("activity_status")] + [System.Text.Json.Serialization.JsonPropertyName("activity_status")] + public string ActivityStatus { get; set; } = default!; + + /// + /// 获取或设置活动开始时间。 + /// + [Newtonsoft.Json.JsonProperty("begin_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("begin_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? BeginTime { get; set; } + + /// + /// 获取或设置活动结束时间。 + /// + [Newtonsoft.Json.JsonProperty("end_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("end_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? EndTime { get; set; } + + /// + /// 获取或设置发放时间段信息。 + /// + [Newtonsoft.Json.JsonProperty("award_send_period")] + [System.Text.Json.Serialization.JsonPropertyName("award_send_period")] + public Types.AwardSendPeriod? AwardSendPeriod { get; set; } + + /// + /// 获取或设置优惠券批次列表。 + /// + [Newtonsoft.Json.JsonProperty("stock_list")] + [System.Text.Json.Serialization.JsonPropertyName("stock_list")] + public Types.Stock[]? StockList { get; set; } = default!; + + /// + /// 获取或设置商户请求单号。 + /// + [Newtonsoft.Json.JsonProperty("out_request_no")] + [System.Text.Json.Serialization.JsonPropertyName("out_request_no")] + public string OutRequestNumber { get; set; } = default!; + + /// + /// 获取或设置支付后活动设置信息。 + /// + [Newtonsoft.Json.JsonProperty("pay_activity_setting")] + [System.Text.Json.Serialization.JsonPropertyName("pay_activity_setting")] + public Types.PayActivitySetting? PayActivitySetting { get; set; } + + /// + /// 获取或设置支付前会员活动设置。 + /// + [Newtonsoft.Json.JsonProperty("miniprogram_activity_setting")] + [System.Text.Json.Serialization.JsonPropertyName("miniprogram_activity_setting")] + public Types.MiniProgramActivitySetting? MiniProgramActivitySetting { get; set; } + + /// + /// 获取或设置更新时间。 + /// + [Newtonsoft.Json.JsonProperty("update_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("update_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset UpdateTime { get; set; } + + /// + /// 获取或设置创建时间。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset CreateTime { get; set; } + } + } + + /// + /// 获取或设置活动列表。 + /// + [Newtonsoft.Json.JsonProperty("data")] + [System.Text.Json.Serialization.JsonPropertyName("data")] + public Types.Activity[] ActivityList { get; set; } = default!; + + /// + /// 获取或设置分页大小。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int Limit { get; set; } + + /// + /// 获取或设置分页开始位置。 + /// + [Newtonsoft.Json.JsonProperty("offset")] + [System.Text.Json.Serialization.JsonPropertyName("offset")] + public int Offset { get; set; } + + /// + /// 获取或设置活动总数量。 + /// + [Newtonsoft.Json.JsonProperty("total_count")] + [System.Text.Json.Serialization.JsonPropertyName("total_count")] + public int TotalCount { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.cs new file mode 100644 index 00000000..757c0b8f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.cs @@ -0,0 +1,26 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /marketing/membercard-activity/activities/{activity_id}/terminate 接口的请求。 + /// + public class TerminateMarketingMemberCardActivityRequest : WechatTenpayRequest + { + /// + /// 获取或设置活动 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ActivityId { get; set; } = string.Empty; + + /// + /// 获取或设置终止时间。 + /// + [Newtonsoft.Json.JsonProperty("terminate_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("terminate_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339NullableDateTimeOffsetConverter))] + public DateTimeOffset? TerminateTime { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.cs new file mode 100644 index 00000000..619a40ea --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Models/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.cs @@ -0,0 +1,26 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models +{ + /// + /// 表示 [POST] /marketing/membercard-activity/activities/{activity_id}/terminate 接口的响应。 + /// + public class TerminateMarketingMemberCardActivityResponse : WechatTenpayResponse + { + /// + /// 获取或设置活动 ID。 + /// + [Newtonsoft.Json.JsonProperty("activity_id")] + [System.Text.Json.Serialization.JsonPropertyName("activity_id")] + public string ActivityId { get; set; } = default!; + + /// + /// 获取或设置终止时间。 + /// + [Newtonsoft.Json.JsonProperty("terminate_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RFC3339DateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("terminate_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RFC3339DateTimeOffsetConverter))] + public DateTimeOffset TerminateTime { get; set; } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.json new file mode 100644 index 00000000..5d596bf6 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityRequest.json @@ -0,0 +1,58 @@ +{ + "card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0", + "activity_name": "良品铺子回馈活动", + "activity_type": "NON_MEMBER_AFTERPAY", + "begin_time": "2020-01-20T13:29:35.120+08:00", + "end_time": "2020-01-29T13:29:35.120+08:00", + "award_send_period": { + "award_send_time": [{ + "begin_time": "2020-01-21T00:00:00.000+08:00", + "end_time": "2020-01-27T00:00:00.000+08:00" + }], + "award_send_day_time": [{ + "begin_day_time": { + "hours": 9, + "minutes": 34, + "seconds": 6 + }, + "end_day_time": { + "hours": 9, + "minutes": 34, + "seconds": 6 + } + }] + }, + "stock_list": [{ + "stock_creator_mchid": "10000022", + "stock_id": "98065001" + }], + "out_request_no": "100002322019090134234sfdf", + "pay_activity_setting": { + "logo_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0", + "activity_second_title": "湖南麻辣美食券", + "mchid_list": ["10000022", "10000023"], + "activate_setting": { + "activate_type": "AUTO_ACTIVATE", + "activate_url": "https://w.url.cn/s/Ahz3p2C", + "activate_miniprogram": { + "activate_appid": "wxea9c30a90fs8d3fe", + "activate_path": "pages/activate/activate" + } + }, + "payment_setting": { + "payment_mode": { + "payment_scene_list": ["APP"] + }, + "limit_bank": "CFT", + "goods_tags": ["xxx", "yyy"] + } + }, + "miniprogram_activity_setting": { + "outer_str": ["领取渠道1", "领取渠道2"], + "award_jump_deploy": { + "mini_program_appid": "wxc0b84a53ed8e8d29", + "mini_program_path": "mall/pages/List", + "button_text": "点击" + } + } +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.json new file mode 100644 index 00000000..bd5837d6 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/CreateMarketingMemberCardActivityResponse.json @@ -0,0 +1,68 @@ +{ + "activity_id": "371067", + "activity_status": "ONGOING", + "create_time": "2015-05-20T13:29:35.120+08:00", + "update_time": "2015-05-20T13:29:35.120+08:00", + "card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0", + "activity_name": "良品铺子回馈活动", + "activity_type": "NON_MEMBER_AFTERPAY", + "begin_time": "2020-01-20T13:29:35.120+08:00", + "end_time": "2020-01-29T13:29:35.120+08:00", + "award_send_period": { + "award_send_time": [ + { + "begin_time": "2020-01-21T00:00:00.000+08:00", + "end_time": "2020-01-27T00:00:00.000+08:00" + } + ], + "award_send_day_time": [ + { + "begin_day_time": { + "hours": 9, + "minutes": 34, + "seconds": 6 + }, + "end_day_time": { + "hours": 9, + "minutes": 34, + "seconds": 6 + } + } + ] + }, + "stock_list": [ + { + "stock_creator_mchid": "10000022", + "stock_id": "98065001" + } + ], + "out_request_no": "100002322019090134234sfdf", + "pay_activity_setting": { + "logo_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0", + "activity_second_title": "湖南麻辣美食券", + "mchid_list": ["10000022", "10000023"], + "activate_setting": { + "activate_type": "AUTO_ACTIVATE", + "activate_url": "https://w.url.cn/s/Ahz3p2C", + "activate_miniprogram": { + "activate_appid": "wxea9c30a90fs8d3fe", + "activate_path": "pages/activate/activate" + } + }, + "payment_setting": { + "payment_mode": { + "payment_scene_list": ["APP"] + }, + "limit_bank": "CFT", + "goods_tags": ["xxx", "yyy"] + } + }, + "miniprogram_activity_setting": { + "outer_str": ["领取渠道1", "领取渠道2"], + "award_jump_deploy": { + "mini_program_appid": "wxc0b84a53ed8e8d29", + "mini_program_path": "mall/pages/List", + "button_text": "点击" + } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdRequest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.json new file mode 100644 index 00000000..a48ed260 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/GetMarketingMemberCardActivityByActivityIdResponse.json @@ -0,0 +1,68 @@ +{ + "activity_id": "371067", + "activity_status": "ONGOING", + "create_time": "2015-05-20T13:29:35.120+08:00", + "update_time": "2015-05-20T13:29:35.120+08:00", + "card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0", + "activity_name": "良品铺子回馈活动", + "activity_type": "NON_MEMBER_AFTERPAY", + "begin_time": "2020-01-20T13:29:35.120+08:00", + "end_time": "2020-01-29T13:29:35.120+08:00", + "award_send_period": { + "award_send_time": [ + { + "begin_time": "2020-01-21T00:00:00.000+08:00", + "end_time": "2020-01-27T00:00:00.000+08:00" + } + ], + "award_send_day_time": [ + { + "begin_day_time": { + "hours": 9, + "minutes": 34, + "seconds": 6 + }, + "end_day_time": { + "hours": 9, + "minutes": 34, + "seconds": 6 + } + } + ] + }, + "stock_list": [ + { + "stock_creator_mchid": "10000022", + "stock_id": "98065001" + } + ], + "out_request_no": "100002322019090134234sfdf", + "pay_activity_setting": { + "logo_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0", + "activity_second_title": "湖南麻辣美食券", + "mchid_list": ["10000022", "10000023"], + "activate_setting": { + "activate_type": "AUTO_ACTIVATE", + "activate_url": "https://w.url.cn/s/Ahz3p2C", + "activate_miniprogram": { + "activate_appid": "wxea9c30a90fs8d3fe", + "activate_path": "pages/activate/activate" + } + }, + "payment_setting": { + "payment_mode": { + "payment_scene_list": ["APP"] + }, + "limit_bank": "CFT", + "goods_tags": ["xxx", "yyy"] + } + }, + "miniprogram_activity_setting": { + "outer_str": ["领取渠道1", "领取渠道2"], + "award_jump_deploy": { + "mini_program_appid": "wxc0b84a53ed8e8d29", + "mini_program_path": "mall/pages/List", + "button_text": "点击" + } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesRequest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.json new file mode 100644 index 00000000..22d38125 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/QueryMarketingMemberCardActivitiesResponse.json @@ -0,0 +1,75 @@ +{ + "data": [ + { + "activity_id": "371067", + "activity_status": "ONGOING", + "create_time": "2015-05-20T13:29:35.120+08:00", + "update_time": "2015-05-20T13:29:35.120+08:00", + "card_id": "pbLatjvWOibDc5-TBnbUk1pD12o0", + "activity_name": "良品铺子回馈活动", + "activity_type": "NON_MEMBER_AFTERPAY", + "begin_time": "2020-01-20T13:29:35.120+08:00", + "end_time": "2020-01-29T13:29:35.120+08:00", + "award_send_period": { + "award_send_time": [ + { + "begin_time": "2020-01-21T00:00:00.000+08:00", + "end_time": "2020-01-27T00:00:00.000+08:00" + } + ], + "award_send_day_time": [ + { + "begin_day_time": { + "hours": 9, + "minutes": 34, + "seconds": 6 + }, + "end_day_time": { + "hours": 9, + "minutes": 34, + "seconds": 6 + } + } + ] + }, + "stock_list": [ + { + "stock_creator_mchid": "10000022", + "stock_id": "98065001" + } + ], + "out_request_no": "100002322019090134234sfdf", + "pay_activity_setting": { + "logo_url": "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7Imvtsn7sYGNcEj33YzVvJF88ECQ19LXId8ZL2Q/0", + "activity_second_title": "湖南麻辣美食券", + "mchid_list": ["10000022", "10000023"], + "activate_setting": { + "activate_type": "AUTO_ACTIVATE", + "activate_url": "https://w.url.cn/s/Ahz3p2C", + "activate_miniprogram": { + "activate_appid": "wxea9c30a90fs8d3fe", + "activate_path": "pages/activate/activate" + } + }, + "payment_setting": { + "payment_mode": { + "payment_scene_list": ["APP"] + }, + "limit_bank": "CFT", + "goods_tags": ["xxx", "yyy"] + } + }, + "miniprogram_activity_setting": { + "outer_str": ["领取渠道1", "领取渠道2"], + "award_jump_deploy": { + "mini_program_appid": "wxc0b84a53ed8e8d29", + "mini_program_path": "mall/pages/List", + "button_text": "点击" + } + } + } + ], + "offset": 10, + "limit": 5, + "total_count": 1234 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.json new file mode 100644 index 00000000..22fdca1b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityRequest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.json b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.json new file mode 100644 index 00000000..dd39d0c6 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/ModelSamples/MarketingMemberActivity/TerminateMarketingMemberCardActivityResponse.json @@ -0,0 +1,4 @@ +{ + "activity_id": "371067", + "terminate_time": "2015-05-20T13:29:35.120+08:00" +}