Skip to content

Commit 94d09e6

Browse files
committed
feat(wxapi): 新增微信小店代用户发起退差价接口
1 parent 215c80e commit 94d09e6

6 files changed

Lines changed: 121 additions & 0 deletions

File tree

src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteChannelsExtensions.cs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,29 @@ public static class WechatApiClientExecuteChannelsExtensions
271271
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECAftersaleUploadRefundCertificateResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
272272
}
273273

274+
/// <summary>
275+
/// <para>异步调用 [POST] /channels/ec/aftersale/refundpricediff 接口。</para>
276+
/// <para>
277+
/// REF: <br/>
278+
/// <![CDATA[ https://developers.weixin.qq.com/doc/store/shop/API/channels-shop-aftersale/api_refundpricediff.html ]]>
279+
/// </para>
280+
/// </summary>
281+
/// <param name="client"></param>
282+
/// <param name="request"></param>
283+
/// <param name="cancellationToken"></param>
284+
/// <returns></returns>
285+
public static async Task<Models.ChannelsECAftersaleRefundPriceDiffResponse> ExecuteChannelsECAftersaleRefundPriceDiffAsync(this WechatApiClient client, Models.ChannelsECAftersaleRefundPriceDiffRequest request, CancellationToken cancellationToken = default)
286+
{
287+
if (client is null) throw new ArgumentNullException(nameof(client));
288+
if (request is null) throw new ArgumentNullException(nameof(request));
289+
290+
IFlurlRequest flurlReq = client
291+
.CreateFlurlRequest(request, HttpMethod.Post, "channels", "ec", "aftersale", "refundpricediff")
292+
.SetQueryParam("access_token", request.AccessToken);
293+
294+
return await client.SendFlurlRequestAsJsonAsync<Models.ChannelsECAftersaleRefundPriceDiffResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
295+
}
296+
274297
#region ECAftersale/Complaint
275298
/// <summary>
276299
/// <para>异步调用 [POST] /channels/ec/aftersale/addcomplaintmaterial 接口。</para>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [POST] /channels/ec/aftersale/refundpricediff 接口的请求。</para>
5+
/// </summary>
6+
public class ChannelsECAftersaleRefundPriceDiffRequest : WechatApiRequest, IInferable<ChannelsECAftersaleRefundPriceDiffRequest, ChannelsECAftersaleRefundPriceDiffResponse>
7+
{
8+
/// <summary>
9+
/// 获取或设置请求唯一标识。
10+
/// </summary>
11+
[Newtonsoft.Json.JsonProperty("request_id")]
12+
[System.Text.Json.Serialization.JsonPropertyName("request_id")]
13+
public string? RequestId { get; set; }
14+
15+
/// <summary>
16+
/// 获取或设置订单 ID。
17+
/// </summary>
18+
[Newtonsoft.Json.JsonProperty("order_id")]
19+
[System.Text.Json.Serialization.JsonPropertyName("order_id")]
20+
public string OrderId { get; set; } = string.Empty;
21+
22+
/// <summary>
23+
/// 获取或设置商品 ID。
24+
/// </summary>
25+
[Newtonsoft.Json.JsonProperty("product_id")]
26+
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.TextualNumberConverter))]
27+
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
28+
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.TextualNumberConverter))]
29+
public long ProductId { get; set; }
30+
31+
/// <summary>
32+
/// 获取或设置 SKU ID。
33+
/// </summary>
34+
[Newtonsoft.Json.JsonProperty("sku_id")]
35+
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.Common.TextualNumberConverter))]
36+
[System.Text.Json.Serialization.JsonPropertyName("sku_id")]
37+
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.TextualNumberConverter))]
38+
public long SKUId { get; set; }
39+
40+
/// <summary>
41+
/// 获取或设置售后退款金额(单位:分)。
42+
/// </summary>
43+
[Newtonsoft.Json.JsonProperty("amount")]
44+
[System.Text.Json.Serialization.JsonPropertyName("amount")]
45+
public int Amount { get; set; }
46+
47+
/// <summary>
48+
/// 获取或设置售后原因。
49+
/// </summary>
50+
[Newtonsoft.Json.JsonProperty("reason")]
51+
[System.Text.Json.Serialization.JsonPropertyName("reason")]
52+
public string ReasonType { get; set; } = string.Empty;
53+
54+
/// <summary>
55+
/// 获取或设置代发起售后补充说明。
56+
/// </summary>
57+
[Newtonsoft.Json.JsonProperty("desc")]
58+
[System.Text.Json.Serialization.JsonPropertyName("desc")]
59+
public string? Description { get; set; }
60+
}
61+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [POST] /channels/ec/aftersale/refundpricediff 接口的响应。</para>
5+
/// </summary>
6+
public class ChannelsECAftersaleRefundPriceDiffResponse : WechatApiResponse
7+
{
8+
/// <summary>
9+
/// 获取或设置售后单 ID。
10+
/// </summary>
11+
[Newtonsoft.Json.JsonProperty("after_sale_order_id")]
12+
[System.Text.Json.Serialization.JsonPropertyName("after_sale_order_id")]
13+
public string AftersaleOrderId { get; set; } = default!;
14+
}
15+
}

src/SKIT.FlurlHttpClient.Wechat.Api/Models/Channels/ECLeague/HeadSupplier/Item/ChannelsECLeagueHeadSupplierItemPromotionDetailGetResponse.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ public class HeadSupplierInfo
9191
[Newtonsoft.Json.JsonProperty("name")]
9292
[System.Text.Json.Serialization.JsonPropertyName("name")]
9393
public string Name { get; set; } = default!;
94+
95+
/// <summary>
96+
/// 获取或设置团长头像 URL。
97+
/// </summary>
98+
[Newtonsoft.Json.JsonProperty("head_img")]
99+
[System.Text.Json.Serialization.JsonPropertyName("head_img")]
100+
public string HeadImageUrl { get; set; } = default!;
94101
}
95102

96103
public class CooperativeInfo
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"request_id": "req_20240101120000_1234511",
3+
"order_id": "3732100665787132600",
4+
"product_id": "10000239001116",
5+
"sku_id": "3516044037",
6+
"amount": 10,
7+
"reason": "10001338",
8+
"desc": "商品价格差异退款申请,原价100元,现价90元,申请退还10元差价"
9+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"errcode": 0,
3+
"errmsg": "ok",
4+
"after_sale_order_id": "2082648273412"
5+
}
6+

0 commit comments

Comments
 (0)