From 62f242a714957376d2cf196457321de4b38d2d10 Mon Sep 17 00:00:00 2001 From: Qin Yikai Date: Tue, 19 Apr 2022 19:14:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(wxapi):=20=E6=96=B0=E5=A2=9E=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E4=BA=A4=E6=98=93=E7=BB=84=E4=BB=B6=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=9B=9E=E8=B0=83=E9=80=9A=E7=9F=A5=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(wxapi): 新增自定义交易组件订单回调通知事件模型 * fix(wxapi): 修复自定义交易组件订单发货接口请求模型定义问题 * fix(wxapi): 更新自定义交易组件售后列表接口响应模型定义问题 --- .gitignore | 3 +- .../OpenProductOrderCancelEvent.cs | 39 +++++ .../OpenProductOrderConfirmEvent.cs | 39 +++++ .../OpenProduct/OpenProductOrderPayEvent.cs | 55 ++++++ .../OpenProductOrderRefundEvent.cs | 39 +++++ .../OpenProductOrderSettleEvent.cs | 63 +++++++ .../Shop/Delivery/ShopDeliverySendRequest.cs | 54 +++++- .../ShopECAftersaleGetListResponse.cs | 163 +----------------- .../ECAftersale/ShopECAftersaleGetResponse.cs | 153 +++++++++++++++- .../Delivery/ShopDeliverySendRequest.json | 16 +- 10 files changed, 453 insertions(+), 171 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderCancelEvent.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderConfirmEvent.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderPayEvent.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderRefundEvent.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderSettleEvent.cs diff --git a/.gitignore b/.gitignore index dadc0fc8..72fc35c6 100644 --- a/.gitignore +++ b/.gitignore @@ -190,4 +190,5 @@ ModelManifest.xml # Visual Studio temporary files .vs -*.nupkg \ No newline at end of file +*.nupkg +.idea \ No newline at end of file diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderCancelEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderCancelEvent.cs new file mode 100644 index 00000000..9cc5f48d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderCancelEvent.cs @@ -0,0 +1,39 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Events +{ + /// + /// 表示 EVENT.open_product_order_cancel 事件的数据。 + /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/callback/order_cancel.html + /// + public class OpenProductOrderCancelEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable + { + public static class Types + { + public class EventData + { + /// + /// 获取或设置商家自定义订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_id")] + [System.Xml.Serialization.XmlElement("out_order_id")] + public string OutOrderId { get; set; } = default!; + + /// + /// 获取或设置订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + [System.Xml.Serialization.XmlElement("order_id")] + public long OrderId { get; set; } + } + } + + /// + /// 获取或设置事件数据。 + /// + [Newtonsoft.Json.JsonProperty("order_info")] + [System.Text.Json.Serialization.JsonPropertyName("order_info")] + [System.Xml.Serialization.XmlElement("order_info")] + public Types.EventData EventData { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderConfirmEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderConfirmEvent.cs new file mode 100644 index 00000000..1854f1e9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderConfirmEvent.cs @@ -0,0 +1,39 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Events +{ + /// + /// 表示 EVENT.open_product_order_confirm 事件的数据。 + /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/callback/order_confirm.html + /// + public class OpenProductOrderConfirmEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable + { + public static class Types + { + public class EventData + { + /// + /// 获取或设置商家自定义订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_id")] + [System.Xml.Serialization.XmlElement("out_order_id")] + public string OutOrderId { get; set; } = default!; + + /// + /// 获取或设置订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + [System.Xml.Serialization.XmlElement("order_id")] + public long OrderId { get; set; } + } + } + + /// + /// 获取或设置事件数据。 + /// + [Newtonsoft.Json.JsonProperty("order_info")] + [System.Text.Json.Serialization.JsonPropertyName("order_info")] + [System.Xml.Serialization.XmlElement("order_info")] + public Types.EventData EventData { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderPayEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderPayEvent.cs new file mode 100644 index 00000000..21d7ed71 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderPayEvent.cs @@ -0,0 +1,55 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Events +{ + /// + /// 表示 EVENT.open_product_order_pay 事件的数据。 + /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/callback/order_success.html + /// + public class OpenProductOrderPayEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable + { + public static class Types + { + public class EventData + { + /// + /// 获取或设置商家自定义订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_id")] + [System.Xml.Serialization.XmlElement("out_order_id")] + public string OutOrderId { get; set; } = default!; + + /// + /// 获取或设置订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + [System.Xml.Serialization.XmlElement("order_id")] + public long OrderId { get; set; } + + /// + /// 获取或设置微信支付交易单号。 + /// + [Newtonsoft.Json.JsonProperty("transaction_id")] + [System.Text.Json.Serialization.JsonPropertyName("transaction_id")] + [System.Xml.Serialization.XmlElement("transaction_id")] + public string TransactionId { get; set; } = default!; + + /// + /// 获取或设置支付时间字符串(格式:yyyy-MM-dd HH:mm:ss)。 + /// + [Newtonsoft.Json.JsonProperty("pay_time")] + [System.Text.Json.Serialization.JsonPropertyName("pay_time")] + [System.Xml.Serialization.XmlElement("pay_time")] + public string PayTimeString { get; set; } = default!; + } + } + + /// + /// 获取或设置事件数据。 + /// + [Newtonsoft.Json.JsonProperty("order_info")] + [System.Text.Json.Serialization.JsonPropertyName("order_info")] + [System.Xml.Serialization.XmlElement("order_info")] + public Types.EventData EventData { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderRefundEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderRefundEvent.cs new file mode 100644 index 00000000..d603f45a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderRefundEvent.cs @@ -0,0 +1,39 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Events +{ + /// + /// 表示 EVENT.open_product_order_refund 事件的数据。 + /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/callback/order_refund.html + /// + public class OpenProductOrderRefundEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable + { + public static class Types + { + public class EventData + { + /// + /// 获取或设置商家自定义订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_id")] + [System.Xml.Serialization.XmlElement("out_order_id")] + public string OutOrderId { get; set; } = default!; + + /// + /// 获取或设置订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + [System.Xml.Serialization.XmlElement("order_id")] + public long OrderId { get; set; } + } + } + + /// + /// 获取或设置事件数据。 + /// + [Newtonsoft.Json.JsonProperty("order_info")] + [System.Text.Json.Serialization.JsonPropertyName("order_info")] + [System.Xml.Serialization.XmlElement("order_info")] + public Types.EventData EventData { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderSettleEvent.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderSettleEvent.cs new file mode 100644 index 00000000..a0a408b3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Events/OpenProduct/OpenProductOrderSettleEvent.cs @@ -0,0 +1,63 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Events +{ + /// + /// 表示 EVENT.open_product_order_settle 事件的数据。 + /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/callback/order_settle.html + /// + public class OpenProductOrderSettleEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable + { + public static class Types + { + public class EventData + { + /// + /// 获取或设置商家自定义订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_id")] + [System.Xml.Serialization.XmlElement("out_order_id")] + public string OutOrderId { get; set; } = default!; + + /// + /// 获取或设置订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + [System.Xml.Serialization.XmlElement("order_id")] + public long OrderId { get; set; } + + /// + /// 获取或设置结算单号。 + /// + [Newtonsoft.Json.JsonProperty("settle_no")] + [System.Text.Json.Serialization.JsonPropertyName("settle_no")] + [System.Xml.Serialization.XmlElement("settle_no")] + public string SettleNumber { get; set; } = default!; + + /// + /// 获取或设置结算金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("amount")] + [System.Text.Json.Serialization.JsonPropertyName("amount")] + [System.Xml.Serialization.XmlElement("amount")] + public int Amount { get; set; } + + /// + /// 获取或设置结算时间字符串(格式:yyyy-MM-dd HH:mm:ss)。 + /// + [Newtonsoft.Json.JsonProperty("settle_time")] + [System.Text.Json.Serialization.JsonPropertyName("settle_time")] + [System.Xml.Serialization.XmlElement("settle_time")] + public string SettleTimeString { get; set; } = default!; + } + } + + /// + /// 获取或设置事件数据。 + /// + [Newtonsoft.Json.JsonProperty("order_info")] + [System.Text.Json.Serialization.JsonPropertyName("order_info")] + [System.Xml.Serialization.XmlElement("order_info")] + public Types.EventData EventData { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliverySendRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliverySendRequest.cs index af622b37..8f337e3c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliverySendRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Delivery/ShopDeliverySendRequest.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Api.Models { @@ -11,6 +12,33 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models { public class Delivery { + public static class Types + { + public class Product + { + /// + /// 获取或设置商家自定义商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("out_product_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_product_id")] + public string? OutProductId { get; set; } + + /// + /// 获取或设置商家自定义 SKU ID。 + /// + [Newtonsoft.Json.JsonProperty("out_sku_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_sku_id")] + public string? OutSKUId { get; set; } + + /// + /// 获取或设置参与售后的商品数量。 + /// + [Newtonsoft.Json.JsonProperty("product_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("product_cnt")] + public int Count { get; set; } + } + } + /// /// 获取或设置快递公司 ID。 /// @@ -24,6 +52,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [Newtonsoft.Json.JsonProperty("waybill_id")] [System.Text.Json.Serialization.JsonPropertyName("waybill_id")] public string? WaybillId { get; set; } + + /// + /// 获取或设置商品列表。 + /// + [Newtonsoft.Json.JsonProperty("product_info_list")] + [System.Text.Json.Serialization.JsonPropertyName("product_info_list")] + public IList ProductList { get; set; } = new List(); } } @@ -48,6 +83,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("openid")] public string OpenId { get; set; } = string.Empty; + /// + /// 获取或设置快递列表。 + /// + [Newtonsoft.Json.JsonProperty("delivery_list")] + [System.Text.Json.Serialization.JsonPropertyName("delivery_list")] + public IList DeliveryList { get; set; } = new List(); + /// /// 获取或设置是否发货完成。 /// @@ -58,10 +100,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public bool IsFinishAll { get; set; } /// - /// 获取或设置快递列表。 + /// 获取或设置完成发货时间. /// - [Newtonsoft.Json.JsonProperty("delivery_list")] - [System.Text.Json.Serialization.JsonPropertyName("delivery_list")] - public IList DeliveryList { get; set; } = new List(); + [Newtonsoft.Json.JsonProperty("ship_done_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RegularDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("ship_done_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RegularDateTimeOffsetConverter))] + public DateTimeOffset? ShipDoneTime { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleGetListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleGetListResponse.cs index a283fcad..bd0558eb 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleGetListResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleGetListResponse.cs @@ -5,170 +5,13 @@ /// public class ShopECAftersaleGetListResponse : WechatApiResponse { - public static class Types - { - public class AftersaleOrder - { - public static class Types - { - public class Product - { - /// - /// 获取或设置商家自定义商品 ID。 - /// - [Newtonsoft.Json.JsonProperty("out_product_id")] - [System.Text.Json.Serialization.JsonPropertyName("out_product_id")] - public string? OutProductId { get; set; } - - /// - /// 获取或设置商家自定义 SKU ID。 - /// - [Newtonsoft.Json.JsonProperty("out_sku_id")] - [System.Text.Json.Serialization.JsonPropertyName("out_sku_id")] - public string? OutSKUId { get; set; } - - /// - /// 获取或设置参与售后的商品数量。 - /// - [Newtonsoft.Json.JsonProperty("product_cnt")] - [System.Text.Json.Serialization.JsonPropertyName("product_cnt")] - public int Count { get; set; } - } - - public class Return - { - /// - /// 获取或设置快递公司 ID。 - /// - [Newtonsoft.Json.JsonProperty("delivery_id")] - [System.Text.Json.Serialization.JsonPropertyName("delivery_id")] - public string DeliveryId { get; set; } = default!; - - /// - /// 获取或设置快递公司名字。 - /// - [Newtonsoft.Json.JsonProperty("delivery_name")] - [System.Text.Json.Serialization.JsonPropertyName("delivery_name")] - public string DeliveryName { get; set; } = default!; - - /// - /// 获取或设置快递单号。 - /// - [Newtonsoft.Json.JsonProperty("waybill_id")] - [System.Text.Json.Serialization.JsonPropertyName("waybill_id")] - public string WaybillId { get; set; } = default!; - - /// - /// 获取或设置退货时间戳。 - /// - [Newtonsoft.Json.JsonProperty("order_return_time")] - [System.Text.Json.Serialization.JsonPropertyName("order_return_time")] - [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] - public long ReturnTimestamp { get; set; } - } - } - - /// - /// 获取或设置售后单号。 - /// - [Newtonsoft.Json.JsonProperty("aftersale_id")] - [System.Text.Json.Serialization.JsonPropertyName("aftersale_id")] - public long AftersaleOrderId { get; set; } - - /// - /// 获取或设置商家自定义售后单号。 - /// - [Newtonsoft.Json.JsonProperty("out_aftersale_id")] - [System.Text.Json.Serialization.JsonPropertyName("out_aftersale_id")] - public string OutAftersaleOrderId { get; set; } = default!; - - /// - /// 获取或设置订单 ID。 - /// - [Newtonsoft.Json.JsonProperty("order_id")] - [System.Text.Json.Serialization.JsonPropertyName("order_id")] - public long OrderId { get; set; } - - /// - /// 获取或设置商家自定义订单号。 - /// - [Newtonsoft.Json.JsonProperty("out_order_id")] - [System.Text.Json.Serialization.JsonPropertyName("out_order_id")] - public string OutOrderId { get; set; } = default!; - - /// - /// 获取或设置类型。 - /// - [Newtonsoft.Json.JsonProperty("type")] - [System.Text.Json.Serialization.JsonPropertyName("type")] - public int Type { get; set; } - - /// - /// 获取或设置状态。 - /// - [Newtonsoft.Json.JsonProperty("status")] - [System.Text.Json.Serialization.JsonPropertyName("status")] - public int Status { get; set; } - - /// - /// 获取或设置退款金额(单位:分)。 - /// - [Newtonsoft.Json.JsonProperty("orderamt")] - [System.Text.Json.Serialization.JsonPropertyName("orderamt")] - public int RefundAmount { get; set; } - - /// - /// 获取或设置退款原因类型。 - /// - [Newtonsoft.Json.JsonProperty("refund_reason_type")] - [System.Text.Json.Serialization.JsonPropertyName("refund_reason_type")] - public int RefundReasonType { get; set; } - - /// - /// 获取或设置退款原因。 - /// - [Newtonsoft.Json.JsonProperty("refund_reason")] - [System.Text.Json.Serialization.JsonPropertyName("refund_reason")] - public string RefundReason { get; set; } = default!; - - /// - /// 获取或设置创建时间。 - /// - [Newtonsoft.Json.JsonProperty("create_time")] - [System.Text.Json.Serialization.JsonPropertyName("create_time")] - [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] - public long CreateTimeTimestamp { get; set; } - - /// - /// 获取或设置更新时间。 - /// - [Newtonsoft.Json.JsonProperty("update_time")] - [System.Text.Json.Serialization.JsonPropertyName("update_time")] - [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] - public long UpdateTimeTimestamp { get; set; } - - /// - /// 获取或设置商品信息。 - /// - [Newtonsoft.Json.JsonProperty("product_info")] - [System.Text.Json.Serialization.JsonPropertyName("product_info")] - public Types.Product Product { get; set; } = default!; - - /// - /// 获取或设置退货信息。 - /// - [Newtonsoft.Json.JsonProperty("return_info")] - [System.Text.Json.Serialization.JsonPropertyName("return_info")] - public Types.Return? Return { get; set; } - } - } - /// - /// 获取或设置售后单列表。 + /// 获取或设置售后单号列表。 /// [Newtonsoft.Json.JsonProperty("after_sales_orders")] [System.Text.Json.Serialization.JsonPropertyName("after_sales_orders")] - public Types.AftersaleOrder[] AftersaleOrderList { get; set; } = default!; + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.TextualLongArrayConverter))] + public long[] AftersaleOrderIdList { get; set; } = default!; /// /// 获取或设置是否还有更多。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleGetResponse.cs index 703c0438..e1145a5a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/ECAftersale/ShopECAftersaleGetResponse.cs @@ -7,8 +7,159 @@ { public static class Types { - public class AftersaleOrder : ShopECAftersaleGetListResponse.Types.AftersaleOrder + public class AftersaleOrder { + public static class Types + { + public class Product + { + /// + /// 获取或设置商家自定义商品 ID。 + /// + [Newtonsoft.Json.JsonProperty("out_product_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_product_id")] + public string? OutProductId { get; set; } + + /// + /// 获取或设置商家自定义 SKU ID。 + /// + [Newtonsoft.Json.JsonProperty("out_sku_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_sku_id")] + public string? OutSKUId { get; set; } + + /// + /// 获取或设置参与售后的商品数量。 + /// + [Newtonsoft.Json.JsonProperty("product_cnt")] + [System.Text.Json.Serialization.JsonPropertyName("product_cnt")] + public int Count { get; set; } + } + + public class Return + { + /// + /// 获取或设置快递公司 ID。 + /// + [Newtonsoft.Json.JsonProperty("delivery_id")] + [System.Text.Json.Serialization.JsonPropertyName("delivery_id")] + public string DeliveryId { get; set; } = default!; + + /// + /// 获取或设置快递公司名字。 + /// + [Newtonsoft.Json.JsonProperty("delivery_name")] + [System.Text.Json.Serialization.JsonPropertyName("delivery_name")] + public string DeliveryName { get; set; } = default!; + + /// + /// 获取或设置快递单号。 + /// + [Newtonsoft.Json.JsonProperty("waybill_id")] + [System.Text.Json.Serialization.JsonPropertyName("waybill_id")] + public string WaybillId { get; set; } = default!; + + /// + /// 获取或设置退货时间戳。 + /// + [Newtonsoft.Json.JsonProperty("order_return_time")] + [System.Text.Json.Serialization.JsonPropertyName("order_return_time")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long ReturnTimestamp { get; set; } + } + } + + /// + /// 获取或设置售后单号。 + /// + [Newtonsoft.Json.JsonProperty("aftersale_id")] + [System.Text.Json.Serialization.JsonPropertyName("aftersale_id")] + public long AftersaleOrderId { get; set; } + + /// + /// 获取或设置商家自定义售后单号。 + /// + [Newtonsoft.Json.JsonProperty("out_aftersale_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_aftersale_id")] + public string OutAftersaleOrderId { get; set; } = default!; + + /// + /// 获取或设置订单 ID。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public long OrderId { get; set; } + + /// + /// 获取或设置商家自定义订单号。 + /// + [Newtonsoft.Json.JsonProperty("out_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("out_order_id")] + public string OutOrderId { get; set; } = default!; + + /// + /// 获取或设置类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置状态。 + /// + [Newtonsoft.Json.JsonProperty("status")] + [System.Text.Json.Serialization.JsonPropertyName("status")] + public int Status { get; set; } + + /// + /// 获取或设置退款金额(单位:分)。 + /// + [Newtonsoft.Json.JsonProperty("orderamt")] + [System.Text.Json.Serialization.JsonPropertyName("orderamt")] + public int RefundAmount { get; set; } + + /// + /// 获取或设置退款原因类型。 + /// + [Newtonsoft.Json.JsonProperty("refund_reason_type")] + [System.Text.Json.Serialization.JsonPropertyName("refund_reason_type")] + public int RefundReasonType { get; set; } + + /// + /// 获取或设置退款原因。 + /// + [Newtonsoft.Json.JsonProperty("refund_reason")] + [System.Text.Json.Serialization.JsonPropertyName("refund_reason")] + public string RefundReason { get; set; } = default!; + + /// + /// 获取或设置创建时间。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long CreateTimeTimestamp { get; set; } + + /// + /// 获取或设置更新时间。 + /// + [Newtonsoft.Json.JsonProperty("update_time")] + [System.Text.Json.Serialization.JsonPropertyName("update_time")] + [System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)] + public long UpdateTimeTimestamp { get; set; } + + /// + /// 获取或设置商品信息。 + /// + [Newtonsoft.Json.JsonProperty("product_info")] + [System.Text.Json.Serialization.JsonPropertyName("product_info")] + public Types.Product Product { get; set; } = default!; + + /// + /// 获取或设置退货信息。 + /// + [Newtonsoft.Json.JsonProperty("return_info")] + [System.Text.Json.Serialization.JsonPropertyName("return_info")] + public Types.Return? Return { get; set; } } } diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendRequest.json index a4ca89a1..e298a5db 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendRequest.json +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Delivery/ShopDeliverySendRequest.json @@ -1,4 +1,4 @@ -{ +{ "order_id": 123456, "out_order_id": "xxxxx", "openid": "oTVP50O53a7jgmawAmxKukNlq3XI", @@ -6,7 +6,15 @@ "delivery_list": [ { "delivery_id": "SF", - "waybill_id": "23424324253" + "waybill_id": "23424324253", + "product_info_list": [ + { + "out_product_id": "1", + "out_sku_id": "2", + "product_cnt": 1 + } + ] } - ] -} \ No newline at end of file + ], + "ship_done_time": "2022-01-01 10:24:00" +}