mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2026-03-10 00:13:36 +08:00
feat(wxapi): 新增小程序用户交易类投诉相关接口
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Events
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 EVENT.complaint_callback 事件的数据。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/complaint.html </para>
|
||||
/// </summary>
|
||||
public class ComplaintCallbackEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class ComplaintHistory
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time")]
|
||||
[System.Xml.Serialization.XmlElement("time")]
|
||||
public long Timestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("content")]
|
||||
[System.Xml.Serialization.XmlElement("content", IsNullable = true)]
|
||||
public string? Content { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置图片 MediaId 列表字符串(以逗号分隔)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("media_id_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("media_id_list")]
|
||||
[System.Xml.Serialization.XmlElement("media_id_list", IsNullable = true)]
|
||||
public string? MediaIdListString { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置小程序 AppId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("appid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("appid")]
|
||||
[System.Xml.Serialization.XmlElement("appid")]
|
||||
public string AppId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置事件通知类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("option_type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("option_type")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
|
||||
[System.Xml.Serialization.XmlElement("option_type")]
|
||||
public string OptionType { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("complaint_order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("complaint_order_id")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
[System.Xml.Serialization.XmlElement("complaint_order_id")]
|
||||
public string ComplaintOrderId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("open_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("open_id")]
|
||||
[System.Xml.Serialization.XmlElement("open_id")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉问题类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
[System.Xml.Serialization.XmlElement("type")]
|
||||
public int Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("status")]
|
||||
[System.Xml.Serialization.XmlElement("status")]
|
||||
public int Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户手机号码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("phone_number")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("phone_number")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringConverter))]
|
||||
[System.Xml.Serialization.XmlElement("phone_number")]
|
||||
public string PhoneNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉材料内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("customer_material_content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("customer_material_content")]
|
||||
[System.Xml.Serialization.XmlElement("customer_material_content", IsNullable = true)]
|
||||
public string? CustomerMaterialContent { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉材料图片 MediaId 列表字符串(以逗号分隔)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("customer_material_media_id_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("customer_material_media_id_list")]
|
||||
[System.Xml.Serialization.XmlElement("customer_material_media_id_list", IsNullable = true)]
|
||||
public string? CustomerMaterialMediaIdListString { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("order_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("order_id")]
|
||||
[System.Xml.Serialization.XmlElement("order_id")]
|
||||
public string OrderId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("out_trade_no")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("out_trade_no")]
|
||||
[System.Xml.Serialization.XmlElement("out_trade_no")]
|
||||
public string OutTradeNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("product_name")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("product_name")]
|
||||
[System.Xml.Serialization.XmlElement("product_name")]
|
||||
public string ProductName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("pay_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("pay_time")]
|
||||
[System.Xml.Serialization.XmlElement("pay_time")]
|
||||
public long PayTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("total_cost")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("total_cost")]
|
||||
[System.Xml.Serialization.XmlElement("total_cost")]
|
||||
public int TotalCost { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉发起时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("create_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("create_time")]
|
||||
[System.Xml.Serialization.XmlElement("create_time")]
|
||||
public long ComplaintCreateTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉状态过期时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("expire_time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("expire_time")]
|
||||
[System.Xml.Serialization.XmlElement("expire_time")]
|
||||
public long ComplaintStatusExpireTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉进度列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("history")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("history")]
|
||||
[System.Xml.Serialization.XmlArrayItem("history", Type = typeof(Types.ComplaintHistory))]
|
||||
public Types.ComplaintHistory[] ComplaintHistoryList { get; set; } = default!;
|
||||
}
|
||||
}
|
||||
@@ -1007,5 +1007,88 @@ namespace SKIT.FlurlHttpClient.Wechat.Api
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region MiniShop
|
||||
/// <summary>
|
||||
/// <para>异步调用 [GET] /wxaapi/minishop/complaintOrderDetail 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/complaint.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaApiMiniShopComplaintOrderDetailResponse> ExecuteWxaApiMiniShopComplaintOrderDetailAsync(this WechatApiClient client, Models.WxaApiMiniShopComplaintOrderDetailRequest 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, "wxaapi", "minishop", "complaintOrderDetail")
|
||||
.SetQueryParam("access_token", request.AccessToken)
|
||||
.SetQueryParam("complaintOrderId", request.ComplaintOrderId);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaApiMiniShopComplaintOrderDetailResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxaapi/minishop/bussiRespondComplaint 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/complaint.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaApiMiniShopBusinessRespondComplaintResponse> ExecuteWxaApiMiniShopBusinessRespondComplaintAsync(this WechatApiClient client, Models.WxaApiMiniShopBusinessRespondComplaintRequest 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, "wxaapi", "minishop", "bussiRespondComplaint")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaApiMiniShopBusinessRespondComplaintResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxaapi/minishop/bussiSupplyProof 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/complaint.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaApiMiniShopBusinessSupplyProofResponse> ExecuteWxaApiMiniShopBusinessSupplyProofAsync(this WechatApiClient client, Models.WxaApiMiniShopBusinessSupplyProofRequest 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, "wxaapi", "minishop", "bussiSupplyProof")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaApiMiniShopBusinessSupplyProofResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /wxaapi/minishop/bussiSupplyRefund 接口。</para>
|
||||
/// <para>REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/complaint.html </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.WxaApiMiniShopBusinessSupplyRefundResponse> ExecuteWxaApiMiniShopBusinessSupplyRefundAsync(this WechatApiClient client, Models.WxaApiMiniShopBusinessSupplyRefundRequest 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, "wxaapi", "minishop", "bussiSupplyRefund")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.WxaApiMiniShopBusinessSupplyRefundResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,8 +24,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
/// <summary>
|
||||
/// 获取或设置接收消息的用户 OpenId 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("touser")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("touser")]
|
||||
[Newtonsoft.Json.JsonProperty("to_openid_list")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("to_openid_list")]
|
||||
public IList<string> ToUserOpenIdList { get; set; } = new List<string>();
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxaapi/minishop/bussiRespondComplaint 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class WxaApiMiniShopBusinessRespondComplaintRequest : WechatApiRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置投诉单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("complaintOrderId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("complaintOrderId")]
|
||||
public long ComplaintOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("content")]
|
||||
public string? Content { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置图片 MediaId 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mediaIdList")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mediaIdList")]
|
||||
public IList<string>? MediaIdList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置和解类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("bussiHandle")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("bussiHandle")]
|
||||
public int HandleType { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxaapi/minishop/bussiRespondComplaint 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class WxaApiMiniShopBusinessRespondComplaintResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxaapi/minishop/bussiSupplyProof 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class WxaApiMiniShopBusinessSupplyProofRequest : WechatApiRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置投诉单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("complaintOrderId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("complaintOrderId")]
|
||||
public long ComplaintOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("content")]
|
||||
public string? Content { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置图片 MediaId 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mediaIdList")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mediaIdList")]
|
||||
public IList<string>? MediaIdList { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxaapi/minishop/bussiSupplyProof 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class WxaApiMiniShopBusinessSupplyProofResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxaapi/minishop/bussiSupplyRefund 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class WxaApiMiniShopBusinessSupplyRefundRequest : WxaApiMiniShopBusinessSupplyProofRequest
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /wxaapi/minishop/bussiSupplyRefund 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class WxaApiMiniShopBusinessSupplyRefundResponse : WechatApiResponse
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /wxaapi/minishop/complaintOrderDetail 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class WxaApiMiniShopComplaintOrderDetailRequest : WechatApiRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置投诉单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonIgnore]
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public long ComplaintOrderId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [GET] /wxaapi/minishop/complaintOrderDetail 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class WxaApiMiniShopComplaintOrderDetailResponse : WechatApiResponse
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class ComplaintOrder
|
||||
{
|
||||
public static class Types
|
||||
{
|
||||
public class CustomerMaterial
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("content")]
|
||||
public string? Content { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置图片 MediaId 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mediaIdList")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mediaIdList")]
|
||||
public string[]? MediaIdList { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("complaintOrderId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("complaintOrderId")]
|
||||
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
|
||||
public long ComplaintOrderId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户 OpenId。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("openId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("openId")]
|
||||
public string OpenId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉问题类型。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("type")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||
public int Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("status")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("status")]
|
||||
public int Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置用户手机号码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("phoneNumber")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("phoneNumber")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringConverter))]
|
||||
public string PhoneNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉材料信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("customerMaterial")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("customerMaterial")]
|
||||
public Types.CustomerMaterial? CustomerMaterial { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("orderId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("orderId")]
|
||||
public string OrderId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商户订单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("outTradeNo")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("outTradeNo")]
|
||||
public string OutTradeNumber { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置商品名称。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("productName")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("productName")]
|
||||
public string ProductName { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置支付时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("payTime")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("payTime")]
|
||||
public long PayTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置交易金额(单位:分)。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("totalCost")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("totalCost")]
|
||||
public int TotalCost { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉发起时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("createTime")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("createTime")]
|
||||
public long CreateTimestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉状态过期时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("expireTime")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("expireTime")]
|
||||
public long ExpireTimestamp { get; set; }
|
||||
}
|
||||
|
||||
public class ComplaintHistory
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置投诉节点状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("itemType")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("itemType")]
|
||||
public int ItemType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置时间戳。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("time")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("time")]
|
||||
public long Timestamp { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置手机号码。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("phoneNumber")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("phoneNumber")]
|
||||
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringConverter))]
|
||||
public string? PhoneNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置内容。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("content")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("content")]
|
||||
public string? Content { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置图片 MediaId 列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("mediaIdList")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("mediaIdList")]
|
||||
public string[]? MediaIdList { get; set; }
|
||||
}
|
||||
|
||||
public class ReturnBill
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置退货单 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("returnId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("returnId")]
|
||||
public string ReturnId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置运单号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("waybillId")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("waybillId")]
|
||||
public string WaybillId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置运单状态。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("orderStatus")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("orderStatus")]
|
||||
public int Status { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉单信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("complaintOrder")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("complaintOrder")]
|
||||
public Types.ComplaintOrder ComplaintOrder { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置投诉进度列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("item")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("item")]
|
||||
public Types.ComplaintHistory[] ComplaintHistoryList { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置退货单信息。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("returnBill")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("returnBill")]
|
||||
public Types.ReturnBill? ReturnBill { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user