diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteShopExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteShopExtensions.cs index c899b5d3..c36f8838 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteShopExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteShopExtensions.cs @@ -1231,7 +1231,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion - + #region Funds /// /// 异步调用 [POST] /shop/funds/scanorderflow 接口。 @@ -1352,7 +1352,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } - + /// /// 异步调用 [POST] /shop/funds/setbankaccount 接口。 /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/funds/setbankaccount.html @@ -1392,7 +1392,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } - + /// /// 异步调用 [POST] /shop/funds/qrcode/gen 接口。 /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/funds/qrcode/gen.html @@ -1412,7 +1412,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } - + /// /// 异步调用 [POST] /shop/funds/qrcode/get 接口。 /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/funds/qrcode/get.html @@ -1432,7 +1432,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } - + /// /// 异步调用 [POST] /shop/funds/qrcode/check 接口。 /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/funds/qrcode/check.html @@ -1453,5 +1453,67 @@ namespace SKIT.FlurlHttpClient.Wechat.Api return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion + + #region Complaint + /// + /// 异步调用 [POST] /shop/complaint/get_list 接口。 + /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/complaint/complaint_get_list.html + /// + /// + /// + /// + /// + public static async Task ExecuteShopComplaintGetListAsync(this WechatApiClient client, Models.ShopComplaintGetListRequest 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, "shop", "complaint", "get_list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /shop/complaint/get 接口。 + /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/complaint/complaint_get.html + /// + /// + /// + /// + /// + public static async Task ExecuteShopComplaintGetAsync(this WechatApiClient client, Models.ShopComplaintGetRequest 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, "shop", "complaint", "get") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /shop/complaint/upload_material 接口。 + /// REF: https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/business-capabilities/ministore/minishopopencomponent2/API/complaint/upload_material.html + /// + /// + /// + /// + /// + public static async Task ExecuteShopComplaintUploadMaterialAsync(this WechatApiClient client, Models.ShopComplaintUploadMaterialRequest 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, "shop", "complaint", "upload_material") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Card/CardCreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Card/CardCreateRequest.cs index 0513e897..19e713ac 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Card/CardCreateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Card/CardCreateRequest.cs @@ -743,7 +743,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models { public class Base : GrouponCard.Types.Base { - public new static class Types + public static new class Types { public class GiftCard { @@ -885,7 +885,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models { public class Base : GrouponCard.Types.Base { - public new static class Types + public static new class Types { public class Payment { diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Card/CardUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Card/CardUpdateRequest.cs index 347d9a7d..57fb48a1 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Card/CardUpdateRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Card/CardUpdateRequest.cs @@ -449,7 +449,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models { public class Base : GrouponCard.Types.Base { - public new static class Types + public static new class Types { public class Payment { diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinMenu/CgibinMenuGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinMenu/CgibinMenuGetResponse.cs index 24916d3a..414b24bf 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinMenu/CgibinMenuGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinMenu/CgibinMenuGetResponse.cs @@ -97,7 +97,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models public class ConditionalMenu : Menu { - public new static class Types + public static new class Types { public class MatchRule { diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinMessageWxopen/CgibinMessageWxopenTemplateUniformSendRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinMessageWxopen/CgibinMessageWxopenTemplateUniformSendRequest.cs index e0d925db..34ad59fa 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinMessageWxopen/CgibinMessageWxopenTemplateUniformSendRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/CgibinMessageWxopen/CgibinMessageWxopenTemplateUniformSendRequest.cs @@ -1,4 +1,3 @@ -using System; using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Api.Models diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetListRequest.cs new file mode 100644 index 00000000..58b3c089 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetListRequest.cs @@ -0,0 +1,64 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /shop/complaint/get_list 接口的请求。 + /// + public class ShopComplaintGetListRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置纠纷单状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public int? State { get; set; } + + /// + /// 获取或设置纠纷单类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int? Type { get; set; } + + /// + /// 获取或设置申请时间开始时间戳。 + /// + [Newtonsoft.Json.JsonProperty("begin_create_time")] + [System.Text.Json.Serialization.JsonPropertyName("begin_create_time")] + public long? BeginCreateTimestamp { get; set; } + + /// + /// 获取或设置申请时间截止时间戳。 + /// + [Newtonsoft.Json.JsonProperty("end_create_time")] + [System.Text.Json.Serialization.JsonPropertyName("end_create_time")] + public long? EndCreateTimestamp { get; set; } + + /// + /// 获取或设置关联订单号。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public long? OrderId { get; set; } + + /// + /// 获取或设置关联售后单号。 + /// + [Newtonsoft.Json.JsonProperty("after_sale_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("after_sale_order_id")] + public long? AftersaleOrderId { get; set; } + + /// + /// 获取或设置分页起始位置。 + /// + [Newtonsoft.Json.JsonProperty("offset")] + [System.Text.Json.Serialization.JsonPropertyName("offset")] + public int Offset { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int Limit { get; set; } = 10; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetListResponse.cs new file mode 100644 index 00000000..f63e2361 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetListResponse.cs @@ -0,0 +1,105 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /shop/complaint/get_list 接口的响应。 + /// + public class ShopComplaintGetListResponse : WechatApiResponse + { + public static class Types + { + public class ComplaintOrder + { + /// + /// 获取或设置关联订单 ID。 + /// + [Newtonsoft.Json.JsonProperty("order_id")] + [System.Text.Json.Serialization.JsonPropertyName("order_id")] + public long OrderId { get; set; } + + /// + /// 获取或设置关联售后单号。 + /// + [Newtonsoft.Json.JsonProperty("after_sale_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("after_sale_order_id")] + public long AftersaleOrderId { get; set; } + + /// + /// 获取或设置纠纷单 ID。 + /// + [Newtonsoft.Json.JsonProperty("complaint_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("complaint_order_id")] + public long ComplaintOrderId { get; set; } + + /// + /// 获取或设置用户 OpenId。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string OpenId { get; set; } = default!; + + /// + /// 获取或设置用户电话号码。 + /// + [Newtonsoft.Json.JsonProperty("phone_number")] + [System.Text.Json.Serialization.JsonPropertyName("phone_number")] + public string PhoneNumber { get; set; } = default!; + + /// + /// 获取或设置状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public int State { get; set; } + + /// + /// 获取或设置类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置申请时间戳。 + /// + [Newtonsoft.Json.JsonProperty("create_time")] + [System.Text.Json.Serialization.JsonPropertyName("create_time")] + public long CreateTimestamp { get; set; } + + /// + /// 获取或设置更新时间戳。 + /// + [Newtonsoft.Json.JsonProperty("update_time")] + [System.Text.Json.Serialization.JsonPropertyName("update_time")] + public long UpdateTimestamp { get; set; } + + /// + /// 获取或设置当前状态超时时间戳。 + /// + [Newtonsoft.Json.JsonProperty("expired_time")] + [System.Text.Json.Serialization.JsonPropertyName("expired_time")] + public long ExpireTimestamp { get; set; } + + /// + /// 获取或设置判责结果。 + /// + [Newtonsoft.Json.JsonProperty("judge_result")] + [System.Text.Json.Serialization.JsonPropertyName("judge_result")] + public int JudgeResult { get; set; } + } + } + + /// + /// 获取或设置售后单列表。 + /// + [Newtonsoft.Json.JsonProperty("orders")] + [System.Text.Json.Serialization.JsonPropertyName("orders")] + public Types.ComplaintOrder[] ComplaintList { get; set; } = default!; + + /// + /// 获取或设置售后单总数量。 + /// + [Newtonsoft.Json.JsonProperty("total")] + [System.Text.Json.Serialization.JsonPropertyName("total")] + public int TotalCount { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetRequest.cs new file mode 100644 index 00000000..687b2bc1 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /shop/complaint/get 接口的请求。 + /// + public class ShopComplaintGetRequest : WechatApiRequest, IInferable + { + /// + /// 获取或设置纠纷单 ID。 + /// + [Newtonsoft.Json.JsonProperty("complaint_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("complaint_order_id")] + public long ComplaintOrderId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetResponse.cs new file mode 100644 index 00000000..14d3aa17 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintGetResponse.cs @@ -0,0 +1,150 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /shop/complaint/get 接口的响应。 + /// + public class ShopComplaintGetResponse : WechatApiResponse + { + public static class Types + { + public class ComplaintOrder : ShopComplaintGetListResponse.Types.ComplaintOrder + { + } + + public class ComplaintFlowList + { + /// + /// 获取或设置流程列表。 + /// + [Newtonsoft.Json.JsonProperty("list")] + [System.Text.Json.Serialization.JsonPropertyName("list")] + public ComplaintFlowItem[] Items { get; set; } = default!; + } + + public class ComplaintFlowItem + { + public static class Types + { + public class Material + { + /// + /// 获取或设置文本信息。 + /// + [Newtonsoft.Json.JsonProperty("content")] + [System.Text.Json.Serialization.JsonPropertyName("content")] + public string Content { get; set; } = default!; + + /// + /// 获取或设置图片 URL 列表。 + /// + [Newtonsoft.Json.JsonProperty("media_url_list")] + [System.Text.Json.Serialization.JsonPropertyName("media_url_list")] + public string[] MediaUrlList { get; set; } = default!; + } + + public class OpenPlatformRecord + { + /// + /// 获取或设置状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public int State { get; set; } + + /// + /// 获取或设置状态描述。 + /// + [Newtonsoft.Json.JsonProperty("state_describe")] + [System.Text.Json.Serialization.JsonPropertyName("state_describe")] + public string StateDescription { get; set; } = default!; + + /// + /// 获取或设置处理事件。 + /// + [Newtonsoft.Json.JsonProperty("event")] + [System.Text.Json.Serialization.JsonPropertyName("event")] + public int Event { get; set; } + + /// + /// 获取或设置处理事件描述。 + /// + [Newtonsoft.Json.JsonProperty("event_describe")] + [System.Text.Json.Serialization.JsonPropertyName("event_describe")] + public string EventDescription { get; set; } = default!; + + /// + /// 获取或设置时间戳。 + /// + [Newtonsoft.Json.JsonProperty("time")] + [System.Text.Json.Serialization.JsonPropertyName("time")] + public long Timestamp { get; set; } + + /// + /// 获取或设置凭证信息。 + /// + [Newtonsoft.Json.JsonProperty("material_info")] + [System.Text.Json.Serialization.JsonPropertyName("material_info")] + public Material? Material { get; set; } + } + + public class UserRecord : OpenPlatformRecord + { + + } + + public class MerchantRecord : OpenPlatformRecord + { + /// + /// 获取或设置处理人员昵称。 + /// + [Newtonsoft.Json.JsonProperty("operator_nickname")] + [System.Text.Json.Serialization.JsonPropertyName("operator_nickname")] + public string OperatorNickname { get; set; } = default!; + } + } + + /// + /// 获取或设置操作对象类型。 + /// + [Newtonsoft.Json.JsonProperty("object")] + [System.Text.Json.Serialization.JsonPropertyName("object")] + public int ObjectType { get; set; } + + /// + /// 获取或设置平台操作记录。 + /// + [Newtonsoft.Json.JsonProperty("op_record")] + [System.Text.Json.Serialization.JsonPropertyName("op_record")] + public Types.OpenPlatformRecord? OpenPlatformRecord { get; set; } + + /// + /// 获取或设置用户操作记录。 + /// + [Newtonsoft.Json.JsonProperty("user_record")] + [System.Text.Json.Serialization.JsonPropertyName("user_record")] + public Types.UserRecord? UserRecord { get; set; } + + /// + /// 获取或设置商家操作记录。 + /// + [Newtonsoft.Json.JsonProperty("merchant_record")] + [System.Text.Json.Serialization.JsonPropertyName("merchant_record")] + public Types.MerchantRecord? MerchantRecord { get; set; } + } + } + + /// + /// 获取或设置纠纷单信息。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public Types.ComplaintOrder ComplaintOrder { get; set; } = default!; + + /// + /// 获取或设置纠纷流程列表。 + /// + [Newtonsoft.Json.JsonProperty("flow_info")] + [System.Text.Json.Serialization.JsonPropertyName("flow_info")] + public Types.ComplaintFlowList ComplaintFlowList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintUploadMaterialRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintUploadMaterialRequest.cs new file mode 100644 index 00000000..ebf5a676 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintUploadMaterialRequest.cs @@ -0,0 +1,44 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /shop/complaint/upload_material 接口的请求。 + /// + public class ShopComplaintUploadMaterialRequest : WechatApiRequest, IInferable + { + public static class Types + { + public class Material + { + /// + /// 获取或设置文本信息。 + /// + [Newtonsoft.Json.JsonProperty("content")] + [System.Text.Json.Serialization.JsonPropertyName("content")] + public string Content { get; set; } = string.Empty; + + /// + /// 获取或设置图片 URL 列表。 + /// + [Newtonsoft.Json.JsonProperty("media_url_list")] + [System.Text.Json.Serialization.JsonPropertyName("media_url_list")] + public IList MediaUrlList { get; set; } = new List(); + } + } + + /// + /// 获取或设置纠纷单号。 + /// + [Newtonsoft.Json.JsonProperty("complaint_order_id")] + [System.Text.Json.Serialization.JsonPropertyName("complaint_order_id")] + public long ComplaintOrderId { get; set; } + + /// + /// 获取或设置凭证信息。 + /// + [Newtonsoft.Json.JsonProperty("material_info")] + [System.Text.Json.Serialization.JsonPropertyName("material_info")] + public Types.Material Material { get; set; } = new Types.Material(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintUploadMaterialResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintUploadMaterialResponse.cs new file mode 100644 index 00000000..800bbc95 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Complaint/ShopComplaintUploadMaterialResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Api.Models +{ + /// + /// 表示 [POST] /shop/complaint/upload_material 接口的响应。 + /// + public class ShopComplaintUploadMaterialResponse : WechatApiResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/ShopFundsGetBalanceResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/ShopFundsGetBalanceResponse.cs index 764192fd..1ebd68dc 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/ShopFundsGetBalanceResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/ShopFundsGetBalanceResponse.cs @@ -1,6 +1,4 @@ -using System; - -namespace SKIT.FlurlHttpClient.Wechat.Api.Models +namespace SKIT.FlurlHttpClient.Wechat.Api.Models { /// /// 表示 [POST] /shop/funds/getbalance 接口的响应。 @@ -24,7 +22,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [Newtonsoft.Json.JsonProperty("pending_amount")] [System.Text.Json.Serialization.JsonPropertyName("pending_amount")] public int PendingAmount { get; set; } - } + } } /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/ShopFundsGetOrderFlowResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/ShopFundsGetOrderFlowResponse.cs index 22392116..e9d5ca05 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/ShopFundsGetOrderFlowResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/ShopFundsGetOrderFlowResponse.cs @@ -70,7 +70,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models [System.Text.Json.Serialization.JsonPropertyName("bookkeeping_time")] [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RegularDateTimeOffsetConverter))] public DateTimeOffset BookKeepingTIme { get; set; } - } + } } /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/Withdraw/ShopFundsGetWithdrawDetailResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/Withdraw/ShopFundsGetWithdrawDetailResponse.cs index 28a45321..94f9f2d3 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/Withdraw/ShopFundsGetWithdrawDetailResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/Withdraw/ShopFundsGetWithdrawDetailResponse.cs @@ -15,7 +15,7 @@ [Newtonsoft.Json.JsonProperty("amount")] [System.Text.Json.Serialization.JsonPropertyName("amount")] public int Amount { get; set; } - + /// /// 获取或设置提现备注。 /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/Withdraw/ShopFundsSubmitWithdrawRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/Withdraw/ShopFundsSubmitWithdrawRequest.cs index 04140917..bec1c38a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/Withdraw/ShopFundsSubmitWithdrawRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Models/Shop/Funds/Withdraw/ShopFundsSubmitWithdrawRequest.cs @@ -11,7 +11,7 @@ [Newtonsoft.Json.JsonProperty("amount")] [System.Text.Json.Serialization.JsonPropertyName("amount")] public int Amount { get; set; } - + /// /// 获取或设置提现备注。 /// diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetListRequest.json new file mode 100644 index 00000000..3f6bbc96 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetListRequest.json @@ -0,0 +1,7 @@ +{ + "state": 2, + "begin_create_time": 1641280180, + "end_create_time": 1641280180, + "offset": 0, + "limit": 10 +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetListResponse.json new file mode 100644 index 00000000..11c1916b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetListResponse.json @@ -0,0 +1,20 @@ +{ + "errcode": 0, + "errmsg": "ok", + "orders": [ + { + "after_sale_order_id": 123, + "complaint_order_id": 123, + "create_time": 1647431667, + "expired_time": 0, + "judge_result": 8, + "openid": "abcef", + "order_id": "123", + "phone_number": "12345678912", + "state": 230014, + "type": 7, + "update_time": 1647431879 + } + ], + "total": 1 +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetRequest.json new file mode 100644 index 00000000..e353bbdf --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetRequest.json @@ -0,0 +1,3 @@ +{ + "complaint_order_id": 123 +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetResponse.json new file mode 100644 index 00000000..256d01b7 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintGetResponse.json @@ -0,0 +1,36 @@ +{ + "errcode": 0, + "errmsg": "ok", + "flow_info": { + "list": [ + { + "user_record": { + "event": 240001, + "event_describe": "用户发起投诉", + "material_info": { + "content": "测试", + "media_url_list": [ + "url" + ] + }, + "state": 230000, + "state_describe": "商家售后处理中", + "time": "1647431667908" + } + } + ] + }, + "order": { + "after_sale_order_id": 123, + "complaint_order_id": 123, + "create_time": 1647431667, + "expired_time": 0, + "judge_result": 8, + "openid": "abcef", + "order_id": "123", + "phone_number": "12345678912", + "state": 230001, + "type": 7, + "update_time": 1647431879 + } +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintUploadMaterialRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintUploadMaterialRequest.json new file mode 100644 index 00000000..4e3c5d76 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/ModelSamples/Shop/Complaint/ShopComplaintUploadMaterialRequest.json @@ -0,0 +1,7 @@ +{ + "complaint_order_id": 123, + "material_info": { + "content": "说明一下", + "media_url_list": [ "xx", "xx" ] + } +} \ No newline at end of file