mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-15 23:13:32 +08:00
feat(work): 新增通过日程或会议预定会议室接口
This commit is contained in:
parent
b9d4339a48
commit
2de062c0ea
@ -403,7 +403,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinOAMeetingRoomDeleteResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
#region MeetingRoomBook
|
||||
#region MeetingRoom/Book
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/oa/meetingroom/get_booking_info 接口。</para>
|
||||
/// <para>REF: https://developer.work.weixin.qq.com/document/path/93620 </para>
|
||||
@ -464,6 +464,46 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinOAMeetingRoomBookResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/oa/meetingroom/book_by_schedule 接口。</para>
|
||||
/// <para>REF: https://developer.work.weixin.qq.com/document/path/93620 </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CgibinOAMeetingRoomBookByScheduleResponse> ExecuteCgibinOAMeetingRoomBookByScheduleAsync(this WechatWorkClient client, Models.CgibinOAMeetingRoomBookByScheduleRequest 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, "cgi-bin", "oa", "meetingroom", "book_by_schedule")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinOAMeetingRoomBookByScheduleResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/oa/meetingroom/book_by_meeting 接口。</para>
|
||||
/// <para>REF: https://developer.work.weixin.qq.com/document/path/93620 </para>
|
||||
/// </summary>
|
||||
/// <param name="client"></param>
|
||||
/// <param name="request"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
public static async Task<Models.CgibinOAMeetingRoomBookByMeetingResponse> ExecuteCgibinOAMeetingRoomBookByMeetingAsync(this WechatWorkClient client, Models.CgibinOAMeetingRoomBookByMeetingRequest 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, "cgi-bin", "oa", "meetingroom", "book_by_meeting")
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.CgibinOAMeetingRoomBookByMeetingResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// <para>异步调用 [POST] /cgi-bin/oa/meetingroom/cancel_book 接口。</para>
|
||||
/// <para>REF: https://developer.work.weixin.qq.com/document/path/93620 </para>
|
||||
|
@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/oa/meetingroom/book_by_meeting 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CgibinOAMeetingRoomBookByMeetingRequest : WechatWorkRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置会议室 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("meetingroom_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("meetingroom_id")]
|
||||
public int MeetingRoomId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置会议 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("meetingid")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
|
||||
public string Meeting { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置预定者的成员账号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("booker")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("booker")]
|
||||
public string BookerUserId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/oa/meetingroom/book_by_meeting 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CgibinOAMeetingRoomBookByMeetingResponse : WechatWorkResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置预定 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("booking_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("booking_id")]
|
||||
public string BookingId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置冲突日期的时间戳列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("conflict_date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("conflict_date")]
|
||||
public string[]? ConflictDateTimestampList { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/oa/meetingroom/book_by_schedule 接口的请求。</para>
|
||||
/// </summary>
|
||||
public class CgibinOAMeetingRoomBookByScheduleRequest : WechatWorkRequest
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置会议室 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("meetingroom_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("meetingroom_id")]
|
||||
public int MeetingRoomId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置日程 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("schedule_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("schedule_id")]
|
||||
public string ScheduleId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置预定者的成员账号。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("booker")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("booker")]
|
||||
public string BookerUserId { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/oa/meetingroom/book_by_schedule 接口的响应。</para>
|
||||
/// </summary>
|
||||
public class CgibinOAMeetingRoomBookByScheduleResponse : WechatWorkResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置预定 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("booking_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("booking_id")]
|
||||
public string BookingId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置冲突日期的时间戳列表。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("conflict_date")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("conflict_date")]
|
||||
public string[]? ConflictDateTimestampList { get; set; }
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// <para>表示 [POST] /cgi-bin/oa/meetingroom/book 接口的响应。</para>
|
||||
@ -6,11 +6,11 @@
|
||||
public class CgibinOAMeetingRoomBookResponse : WechatWorkResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取或设置会议 ID。
|
||||
/// 获取或设置预定 ID。
|
||||
/// </summary>
|
||||
[Newtonsoft.Json.JsonProperty("meeting_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("meeting_id")]
|
||||
public string MeetingId { get; set; } = default!;
|
||||
[Newtonsoft.Json.JsonProperty("booking_id")]
|
||||
[System.Text.Json.Serialization.JsonPropertyName("booking_id")]
|
||||
public string BookingId { get; set; } = default!;
|
||||
|
||||
/// <summary>
|
||||
/// 获取或设置关联日程 ID。
|
||||
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"meetingroom_id": 1,
|
||||
"meetingid": "hy7e7226edae66468bc48e9859812402",
|
||||
"booker": "rocky"
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "ok",
|
||||
"booking_id": "bkgsaseb6e027c123cbafAAA",
|
||||
"conflict_date": [ 1672502400, 1675180800, 1677600000 ]
|
||||
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"meetingroom_id": 1,
|
||||
"schedule_id": "1c7e7226edae66468bc48e9859812402",
|
||||
"booker": "rocky"
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "ok",
|
||||
"booking_id": "bkgsaseb6e027c123cbafAAA",
|
||||
"conflict_date": [ 1672502400, 1675180800, 1677600000 ]
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
{
|
||||
"errcode": 0,
|
||||
"errmsg": "ok",
|
||||
"meeting_id": "mtgsaseb6e027c123cbafAAA",
|
||||
"booking_id": "bkgsaseb6e027c123cbafAAA",
|
||||
"schedule_id": "17c7d2bd9f20d652840f72f59e796AAA"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user