fix(tenpayv2): 修复酒店押金查询退款接口响应反序列化不正确的问题

This commit is contained in:
Ge 2023-03-02 22:06:57 +08:00 committed by GitHub
parent 513eea9b2b
commit 6f344560d2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 67 additions and 103 deletions

View File

@ -47,6 +47,13 @@
[System.Text.Json.Serialization.JsonPropertyName("transaction_id")]
public string TransactionId { get; set; } = default!;
/// <summary>
/// 获取或设置商户退款单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("out_refund_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_refund_no")]
public string OutRefundNumber { get; set; } = default!;
/// <summary>
/// 获取或设置微信退款单号。
/// </summary>

View File

@ -5,103 +5,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
/// <summary>
/// <para>表示 [POST] /deposit/refundquery 接口的响应。</para>
/// </summary>
[Newtonsoft.Json.JsonConverter(typeof(Converters.ResponseClassNewtonsoftJsonConverter))]
[System.Text.Json.Serialization.JsonConverter(typeof(Converters.ResponseClassSystemTextJsonConverter))]
public class GetDepositRefundResponse : WechatTenpaySignableResponse
{
public static class Types
{
public class Refund
{
/// <summary>
/// 获取或设置微信退款单号。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_id_$n")]
[System.Text.Json.Serialization.JsonPropertyName("refund_id_$n")]
public string RefundId { get; set; } = default!;
/// <summary>
/// 获取或设置退款渠道。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_channel_$n")]
[System.Text.Json.Serialization.JsonPropertyName("refund_channel_$n")]
public string? RefundChannel { get; set; }
/// <summary>
/// 获取或设置退款状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_status_$n")]
[System.Text.Json.Serialization.JsonPropertyName("refund_status_$n")]
public string RefundStatus { get; set; } = default!;
/// <summary>
/// 获取或设置退款资金来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_account_$n")]
[System.Text.Json.Serialization.JsonPropertyName("refund_account_$n")]
public string? RefundAccount { get; set; }
/// <summary>
/// 获取或设置退款入账账户。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_recv_accout_$n")]
[System.Text.Json.Serialization.JsonPropertyName("refund_recv_accout_$n")]
public string? RefundReceiveAccount { get; set; }
/// <summary>
/// 获取或设置退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_fee_$n")]
[System.Text.Json.Serialization.JsonPropertyName("refund_fee_$n")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int RefundFee { get; set; }
/// <summary>
/// 获取或设置应结退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("settlement_refund_fee_$n")]
[System.Text.Json.Serialization.JsonPropertyName("settlement_refund_fee_$n")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int? SettlementRefundFee { get; set; }
/// <summary>
/// 获取或设置代金券退款金额。
/// </summary>
[Newtonsoft.Json.JsonProperty("coupon_refund_fee_$n")]
[System.Text.Json.Serialization.JsonPropertyName("coupon_refund_fee_$n")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int? CouponRefundFee { get; set; }
/// <summary>
/// 获取或设置现金退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("cash_refund_fee_$n")]
[System.Text.Json.Serialization.JsonPropertyName("cash_refund_fee_$n")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int? CashRefundFee { get; set; }
/// <summary>
/// 获取或设置退款成功时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_success_time_$n")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("refund_success_time_$n")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
public DateTimeOffset? SuccessTime { get; set; }
}
}
internal static class Converters
{
internal class ResponseClassNewtonsoftJsonConverter : Newtonsoft.Json.Converters.FlattenNArrayObjectConverterBase<GetDepositRefundResponse>
{
}
internal class ResponseClassSystemTextJsonConverter : System.Text.Json.Converters.FlattenNArrayObjectConverterBase<GetDepositRefundResponse>
{
}
}
/// <summary>
/// <inheritdoc/>
/// </summary>
@ -176,18 +81,70 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV2.Models
public int? CashFee { get; set; }
/// <summary>
/// 获取或设置记录列表
/// 获取或设置商户退款单号
/// </summary>
[Newtonsoft.Json.JsonProperty(Newtonsoft.Json.Converters.FlattenNArrayObjectConverterBase.PROPERTY_NAME_NARRAY)]
[System.Text.Json.Serialization.JsonPropertyName(System.Text.Json.Converters.FlattenNArrayObjectConverterBase.PROPERTY_NAME_NARRAY)]
public Types.Refund[] RefundList { get; set; } = default!;
[Newtonsoft.Json.JsonProperty("out_refund_no")]
[System.Text.Json.Serialization.JsonPropertyName("out_refund_no")]
public string OutRefundNumber { get; set; } = default!;
/// <summary>
/// 获取或设置记录总数
/// 获取或设置微信退款单号
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_count")]
[System.Text.Json.Serialization.JsonPropertyName("refund_count")]
[Newtonsoft.Json.JsonProperty("refund_id")]
[System.Text.Json.Serialization.JsonPropertyName("refund_id")]
public string RefundId { get; set; } = default!;
/// <summary>
/// 获取或设置退款渠道。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_channel")]
[System.Text.Json.Serialization.JsonPropertyName("refund_channel")]
public string? RefundChannel { get; set; }
/// <summary>
/// 获取或设置退款状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_status")]
[System.Text.Json.Serialization.JsonPropertyName("refund_status")]
public string RefundStatus { get; set; } = default!;
/// <summary>
/// 获取或设置退款资金来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_account")]
[System.Text.Json.Serialization.JsonPropertyName("refund_account")]
public string? RefundAccount { get; set; }
/// <summary>
/// 获取或设置退款入账账户。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_recv_accout")]
[System.Text.Json.Serialization.JsonPropertyName("refund_recv_accout")]
public string? RefundReceiveAccount { get; set; }
/// <summary>
/// 获取或设置退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_fee")]
[System.Text.Json.Serialization.JsonPropertyName("refund_fee")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int TotalRefundCount { get; set; }
public int RefundFee { get; set; }
/// <summary>
/// 获取或设置应结退款金额(单位:分)。
/// </summary>
[Newtonsoft.Json.JsonProperty("settlement_refund_fee")]
[System.Text.Json.Serialization.JsonPropertyName("settlement_refund_fee")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public int? SettlementRefundFee { get; set; }
/// <summary>
/// 获取或设置退款成功时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("refund_success_time")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
[System.Text.Json.Serialization.JsonPropertyName("refund_success_time")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.PureDigitalTextNullableDateTimeOffsetConverter))]
public DateTimeOffset? SuccessTime { get; set; }
}
}