Skip to content

Commit 8ca323b

Browse files
committed
feat(work): 新增智能表格自动化创建的群聊相关接口
1 parent dbcccd7 commit 8ca323b

14 files changed

Lines changed: 270 additions & 6 deletions

src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinWedocExtensions.cs

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -726,6 +726,77 @@ public static class WechatWorkClientExecuteCgibinWedocExtensions
726726

727727
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinWedocSmartSheetDeleteRecordsResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
728728
}
729+
730+
#region SmartSheet/GroupChat
731+
/// <summary>
732+
/// <para>异步调用 [POST] /cgi-bin/wedoc/smartsheet/groupchat/list 接口。</para>
733+
/// <para>
734+
/// REF: <br/>
735+
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/100989 ]]>
736+
/// </para>
737+
/// </summary>
738+
/// <param name="client"></param>
739+
/// <param name="request"></param>
740+
/// <param name="cancellationToken"></param>
741+
/// <returns></returns>
742+
public static async Task<Models.CgibinWedocSmartSheetGroupChatListResponse> ExecuteCgibinWedocSmartSheetGroupChatListAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetGroupChatListRequest request, CancellationToken cancellationToken = default)
743+
{
744+
if (client is null) throw new ArgumentNullException(nameof(client));
745+
if (request is null) throw new ArgumentNullException(nameof(request));
746+
747+
IFlurlRequest flurlReq = client
748+
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "wedoc", "smartsheet", "groupchat", "list")
749+
.SetQueryParam("access_token", request.AccessToken);
750+
751+
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinWedocSmartSheetGroupChatListResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
752+
}
753+
754+
/// <summary>
755+
/// <para>异步调用 [POST] /cgi-bin/wedoc/smartsheet/groupchat/get 接口。</para>
756+
/// <para>
757+
/// REF: <br/>
758+
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/101028 ]]>
759+
/// </para>
760+
/// </summary>
761+
/// <param name="client"></param>
762+
/// <param name="request"></param>
763+
/// <param name="cancellationToken"></param>
764+
/// <returns></returns>
765+
public static async Task<Models.CgibinWedocSmartSheetGroupChatGetResponse> ExecuteCgibinWedocSmartSheetGroupChatGetAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetGroupChatGetRequest request, CancellationToken cancellationToken = default)
766+
{
767+
if (client is null) throw new ArgumentNullException(nameof(client));
768+
if (request is null) throw new ArgumentNullException(nameof(request));
769+
770+
IFlurlRequest flurlReq = client
771+
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "wedoc", "smartsheet", "groupchat", "get")
772+
.SetQueryParam("access_token", request.AccessToken);
773+
774+
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinWedocSmartSheetGroupChatGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
775+
}
776+
777+
/// <summary>
778+
/// <para>异步调用 [POST] /cgi-bin/wedoc/smartsheet/groupchat/update 接口。</para>
779+
/// <para>
780+
/// REF: <br/>
781+
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/101029 ]]>
782+
/// </para>
783+
/// </summary>
784+
/// <param name="client"></param>
785+
/// <param name="request"></param>
786+
/// <param name="cancellationToken"></param>
787+
/// <returns></returns>
788+
public static async Task<Models.CgibinWedocSmartSheetGroupChatUpdateResponse> ExecuteCgibinWedocSmartSheetGroupChatUpdateAsync(this WechatWorkClient client, Models.CgibinWedocSmartSheetGroupChatUpdateRequest request, CancellationToken cancellationToken = default)
789+
{
790+
if (client is null) throw new ArgumentNullException(nameof(client));
791+
if (request is null) throw new ArgumentNullException(nameof(request));
792+
793+
IFlurlRequest flurlReq = client
794+
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "wedoc", "smartsheet", "groupchat", "update")
795+
.SetQueryParam("access_token", request.AccessToken);
796+
797+
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinWedocSmartSheetGroupChatUpdateResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
798+
}
799+
#endregion
729800
#endregion
730801

731802
#region SpreadSheet
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [POST] /cgi-bin/wedoc/smartsheet/groupchat/get 接口的请求。</para>
5+
/// </summary>
6+
public class CgibinWedocSmartSheetGroupChatGetRequest : WechatWorkRequest
7+
{
8+
/// <summary>
9+
/// 获取或设置文档 ID。
10+
/// </summary>
11+
[Newtonsoft.Json.JsonProperty("docid")]
12+
[System.Text.Json.Serialization.JsonPropertyName("docid")]
13+
public string DocumentId { get; set; } = string.Empty;
14+
15+
/// <summary>
16+
/// 获取或设置群聊 ID。
17+
/// </summary>
18+
[Newtonsoft.Json.JsonProperty("chat_id")]
19+
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
20+
public string GroupChatId { get; set; } = string.Empty;
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [POST] /cgi-bin/wedoc/smartsheet/groupchat/get 接口的响应。</para>
5+
/// </summary>
6+
public class CgibinWedocSmartSheetGroupChatGetResponse : WechatWorkResponse
7+
{
8+
/// <summary>
9+
/// 获取或设置群聊名称。
10+
/// </summary>
11+
[Newtonsoft.Json.JsonProperty("name")]
12+
[System.Text.Json.Serialization.JsonPropertyName("name")]
13+
public string Name { get; set; } = default!;
14+
15+
/// <summary>
16+
/// 获取或设置群主成员账号。
17+
/// </summary>
18+
[Newtonsoft.Json.JsonProperty("owner")]
19+
[System.Text.Json.Serialization.JsonPropertyName("owner")]
20+
public string OwnerUserId { get; set; } = default!;
21+
22+
/// <summary>
23+
/// 获取或设置群成员账号列表。
24+
/// </summary>
25+
[Newtonsoft.Json.JsonProperty("user_list")]
26+
[System.Text.Json.Serialization.JsonPropertyName("user_list")]
27+
public string[] UserIdList { get; set; } = default!;
28+
}
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [POST] /cgi-bin/wedoc/smartsheet/groupchat/list 接口的请求。</para>
5+
/// </summary>
6+
public class CgibinWedocSmartSheetGroupChatListRequest : WechatWorkRequest
7+
{
8+
/// <summary>
9+
/// 获取或设置文档 ID。
10+
/// </summary>
11+
[Newtonsoft.Json.JsonProperty("docid")]
12+
[System.Text.Json.Serialization.JsonPropertyName("docid")]
13+
public string DocumentId { get; set; } = string.Empty;
14+
15+
/// <summary>
16+
/// 获取或设置分页游标。
17+
/// </summary>
18+
[Newtonsoft.Json.JsonProperty("cursor")]
19+
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
20+
public string? Cursor { get; set; }
21+
22+
/// <summary>
23+
/// 获取或设置分页每页数量。
24+
/// </summary>
25+
[Newtonsoft.Json.JsonProperty("limit")]
26+
[System.Text.Json.Serialization.JsonPropertyName("limit")]
27+
public int? Limit { get; set; }
28+
}
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [POST] /cgi-bin/wedoc/smartsheet/groupchat/list 接口的响应。</para>
5+
/// </summary>
6+
public class CgibinWedocSmartSheetGroupChatListResponse : WechatWorkResponse
7+
{
8+
/// <summary>
9+
/// 获取或设置群聊 ID 列表。
10+
/// </summary>
11+
[Newtonsoft.Json.JsonProperty("chat_id_list")]
12+
[System.Text.Json.Serialization.JsonPropertyName("chat_id_list")]
13+
public string[] GroupChatIdList { get; set; } = default!;
14+
15+
/// <summary>
16+
/// 获取或设置分页游标。
17+
/// </summary>
18+
[Newtonsoft.Json.JsonProperty("next_cursor")]
19+
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
20+
public string? NextCursor { get; set; }
21+
22+
/// <summary>
23+
/// 获取或设置是否还有更多数据。
24+
/// </summary>
25+
[Newtonsoft.Json.JsonProperty("has_more")]
26+
[System.Text.Json.Serialization.JsonPropertyName("has_more")]
27+
public bool HasMore { get; set; }
28+
}
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using System.Collections.Generic;
2+
3+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
4+
{
5+
/// <summary>
6+
/// <para>表示 [POST] /cgi-bin/wedoc/smartsheet/groupchat/update 接口的请求。</para>
7+
/// </summary>
8+
public class CgibinWedocSmartSheetGroupChatUpdateRequest : WechatWorkRequest
9+
{
10+
/// <summary>
11+
/// 获取或设置文档 ID。
12+
/// </summary>
13+
[Newtonsoft.Json.JsonProperty("docid")]
14+
[System.Text.Json.Serialization.JsonPropertyName("docid")]
15+
public string DocumentId { get; set; } = string.Empty;
16+
17+
/// <summary>
18+
/// 获取或设置群聊 ID。
19+
/// </summary>
20+
[Newtonsoft.Json.JsonProperty("chat_id")]
21+
[System.Text.Json.Serialization.JsonPropertyName("chat_id")]
22+
public string GroupChatId { get; set; } = string.Empty;
23+
24+
/// <summary>
25+
/// 获取或设置新的群主成员账号。
26+
/// </summary>
27+
[Newtonsoft.Json.JsonProperty("owner")]
28+
[System.Text.Json.Serialization.JsonPropertyName("owner")]
29+
public string? OwnerUserId { get; set; }
30+
31+
/// <summary>
32+
/// 获取或设置添加的群成员账号列表。
33+
/// </summary>
34+
[Newtonsoft.Json.JsonProperty("add_user_list")]
35+
[System.Text.Json.Serialization.JsonPropertyName("add_user_list")]
36+
public IList<string>? AddedUserIdList { get; set; }
37+
38+
/// <summary>
39+
/// 获取或设置移除的群成员账号列表。
40+
/// </summary>
41+
[Newtonsoft.Json.JsonProperty("del_user_list")]
42+
[System.Text.Json.Serialization.JsonPropertyName("del_user_list")]
43+
public IList<string>? DeletedUserIdList { get; set; }
44+
}
45+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
2+
{
3+
/// <summary>
4+
/// <para>表示 [POST] /cgi-bin/wedoc/smartsheet/groupchat/update 接口的响应。</para>
5+
/// </summary>
6+
public class CgibinWedocSmartSheetGroupChatUpdateResponse : WechatWorkResponse
7+
{
8+
}
9+
}

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedrive/File/CgibinWedriveFileListRequest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
22
{
33
/// <summary>
44
/// <para>表示 [POST] /cgi-bin/wedrive/file_list 接口的请求。</para>
@@ -27,11 +27,11 @@ public class CgibinWedriveFileListRequest : WechatWorkRequest
2727
public int SortType { get; set; }
2828

2929
/// <summary>
30-
/// 获取或设置分页起始位置
30+
/// 获取或设置分页游标
3131
/// </summary>
3232
[Newtonsoft.Json.JsonProperty("start")]
3333
[System.Text.Json.Serialization.JsonPropertyName("start")]
34-
public int Offset { get; set; }
34+
public int Cursor { get; set; }
3535

3636
/// <summary>
3737
/// 获取或设置分页每页数量。

src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinWedrive/File/CgibinWedriveFileListResponse.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
1+
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
22
{
33
/// <summary>
44
/// <para>表示 [POST] /cgi-bin/wedrive/file_list 接口的响应。</para>
@@ -120,10 +120,10 @@ public class FileItem
120120
public bool HasMore { get; set; }
121121

122122
/// <summary>
123-
/// 获取或设置翻页标记
123+
/// 获取或设置分页游标
124124
/// </summary>
125125
[Newtonsoft.Json.JsonProperty("next_start")]
126126
[System.Text.Json.Serialization.JsonPropertyName("next_start")]
127-
public int? NextStart { get; set; }
127+
public int? NextCursor { get; set; }
128128
}
129129
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"docid": "DOCID",
3+
"chat_id": "CHATID"
4+
}

0 commit comments

Comments
 (0)