mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-12-29 09:54:44 +08:00
feat(tenpayv3): 新增品牌活动投放计划相关接口
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 DELIVERY_PLAN.CHANGE (仅限服务商)通知的数据。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4016168699 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public class MarketingPartnerDeliveryPlanResource : WechatTenpayEvent.Types.IDecryptedResource
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
|
||||
public string PlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_state")]
|
||||
public string PlanState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置审核状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("audit_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("audit_state")]
|
||||
public string? AuditState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置变更原因。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("change_reason")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("change_reason")]
|
||||
public string? ChangeReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置修改时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("modify_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("modify_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset ModifyTime { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Flurl.Http;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
{
|
||||
public static class WechatTenpayClientExecuteMarketingPartnerDeliveryPlanExtensions
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /marketing/partner/delivery-plan/delivery-plans 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4016184554 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CreateMarketingPartnerDeliveryPlanResponse> ExecuteCreateMarketingPartnerDeliveryPlanAsync(this WechatTenpayClient client, Models.CreateMarketingPartnerDeliveryPlanRequest 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, "marketing", "partner", "delivery-plan", "delivery-plans");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.CreateMarketingPartnerDeliveryPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /marketing/partner/delivery-plan/delivery-plans/{brand_id}/delivery-plans 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4016184563 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.QueryMarketingPartnerDeliveryPlansResponse> ExecuteQueryMarketingPartnerDeliveryPlansAsync(this WechatTenpayClient client, Models.QueryMarketingPartnerDeliveryPlansRequest 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.Get, "marketing", "partner", "delivery-plan", "delivery-plans", request.BrandId, "delivery-plans");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.QueryMarketingPartnerDeliveryPlansResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [PATCH] /marketing/partner/delivery-plan/delivery-plans/{plan_id} 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4016184594 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.UpdateMarketingPartnerDeliveryPlanResponse> ExecuteUpdateMarketingPartnerDeliveryPlanAsync(this WechatTenpayClient client, Models.UpdateMarketingPartnerDeliveryPlanRequest 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, new HttpMethod("PATCH"), "marketing", "partner", "delivery-plan", "delivery-plans", request.PlanId);
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.UpdateMarketingPartnerDeliveryPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /marketing/partner/delivery-plan/delivery-plans/{plan_id}/terminate 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4016184572 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.TerminateMarketingPartnerDeliveryPlanResponse> ExecuteTerminateMarketingPartnerDeliveryPlanAsync(this WechatTenpayClient client, Models.TerminateMarketingPartnerDeliveryPlanRequest 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, "marketing", "partner", "delivery-plan", "delivery-plans", request.PlanId, "terminate");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.TerminateMarketingPartnerDeliveryPlanResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /marketing/partner/delivery-plan/{sp_mchid}/notify-url 接口。</para>
|
||||
/// <para>
|
||||
/// REF: <br/>
|
||||
/// <![CDATA[ https://pay.weixin.qq.com/doc/v3/partner/4016184598 ]]>
|
||||
/// </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.UpdateMarketingPartnerDeliveryPlanNotifyUrlResponse> ExecuteUpdateMarketingPartnerDeliveryPlanNotifyUrlAsync(this WechatTenpayClient client, Models.UpdateMarketingPartnerDeliveryPlanNotifyUrlRequest 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, "marketing", "partner", "delivery-plan", client.Credentials.MerchantId, "notify-url");
|
||||
|
||||
return await client.SendFlurlRequestAsJsonAsync<Models.UpdateMarketingPartnerDeliveryPlanNotifyUrlResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /marketing/partner/delivery-plan/delivery-plans 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CreateMarketingPartnerDeliveryPlanRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置商户请求单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
|
||||
public string? OutRequestNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("brand_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
|
||||
public string BrandId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品券 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_coupon_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_coupon_id")]
|
||||
public string ProductCouponId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品券批次 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("stock_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("stock_id")]
|
||||
public string StockId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否复用商品券和批次信。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reuse_coupon_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reuse_coupon_config")]
|
||||
public bool IsReuseCouponConfig { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string? PlanName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总库存数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||
public int? TotalCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单用户限领数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_limit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_limit")]
|
||||
public int? UserLimitCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单日限领数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("daily_limit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("daily_limit")]
|
||||
public int? DailyLimitCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置开始时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("delivery_start_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("delivery_start_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? StartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结束时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("delivery_end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("delivery_end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置营销自定义文案。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recommend_word")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recommend_word")]
|
||||
public string? RecommentWording { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /marketing/partner/delivery-plan/delivery-plans 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CreateMarketingPartnerDeliveryPlanResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Plan : QueryMarketingPartnerDeliveryPlansResponse.Types.Plan
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan")]
|
||||
public Types.Plan Plan { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /marketing/partner/delivery-plan/delivery-plans/{brand_id}/delivery-plans 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class QueryMarketingPartnerDeliveryPlansRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string BrandId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? PlanId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? PlanState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置审核状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string? AuditState { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页起始位置。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public int? Offset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置分页大小。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public int? Limit { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /marketing/partner/delivery-plan/delivery-plans/{brand_id}/delivery-plans 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class QueryMarketingPartnerDeliveryPlansResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Plan
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_id")]
|
||||
public string PlanId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string PlanName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_state")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_state")]
|
||||
public string PlanState { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置品牌 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("brand_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
|
||||
public string BrandId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品券 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_coupon_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_coupon_id")]
|
||||
public string ProductCouponId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品券批次 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("stock_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("stock_id")]
|
||||
public string StockId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置是否复用商品券和批次信。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("reuse_coupon_config")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("reuse_coupon_config")]
|
||||
public bool IsReuseCouponConfig { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总库存数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||
public int? TotalCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单用户限领数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_limit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_limit")]
|
||||
public int? UserLimitCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单日限领数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("daily_limit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("daily_limit")]
|
||||
public int? DailyLimitCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置开始时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("delivery_start_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("delivery_start_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? StartTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结束时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("delivery_end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("delivery_end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置营销自定义文案。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recommend_word")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recommend_word")]
|
||||
public string? RecommentWording { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||
public int TotalCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_list")]
|
||||
public Types.Plan[] PlanList { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /marketing/partner/delivery-plan/delivery-plans/{plan_id}/terminate 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class TerminateMarketingPartnerDeliveryPlanRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string PlanId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /marketing/partner/delivery-plan/delivery-plans/{plan_id}/terminate 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class TerminateMarketingPartnerDeliveryPlanResponse : WechatTenpayResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /marketing/partner/delivery-plan/{sp_mchid}/notify-url 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class UpdateMarketingPartnerDeliveryPlanNotifyUrlRequest : WechatTenpayRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置回调通知地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("notify_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
|
||||
public string NotifyUrl { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /marketing/partner/delivery-plan/{sp_mchid}/notify-url 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class UpdateMarketingPartnerDeliveryPlanNotifyUrlResponse : WechatTenpayResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置回调通知地址。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("notify_url")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("notify_url")]
|
||||
public string NotifyUrl { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [PATCH] /marketing/partner/delivery-plan/delivery-plans/{plan_id} 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class UpdateMarketingPartnerDeliveryPlanRequest : WechatTenpayRequest
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class ModifyContent
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan_name")]
|
||||
public string? PlanName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置总库存数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_count")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_count")]
|
||||
public int? TotalCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单用户限领数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("user_limit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("user_limit")]
|
||||
public int? UserLimitCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置单日限领数量。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("daily_limit")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("daily_limit")]
|
||||
public int? DailyLimitCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置结束时间。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("delivery_end_time")]
|
||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("delivery_end_time")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.Rfc3339DateTimeOffsetConverter))]
|
||||
public DateTimeOffset? EndTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置营销自定义文案。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("recommend_word")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("recommend_word")]
|
||||
public string? RecommentWording { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public string PlanId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户请求单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_request_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_request_no")]
|
||||
public string? OutRequestNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置修改内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("modify_content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("modify_content")]
|
||||
public Types.ModifyContent ModifyContent { get; set; } = new Types.ModifyContent();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [PATCH] /marketing/partner/delivery-plan/delivery-plans/{plan_id} 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class UpdateMarketingPartnerDeliveryPlanResponse : WechatTenpayResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class Plan : CreateMarketingPartnerDeliveryPlanResponse.Types.Plan
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投放计划信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("plan")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("plan")]
|
||||
public Types.Plan Plan { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user