From 0d6feba1df114dfb29895811a28577cb6e6c5ab5 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Sat, 5 Jun 2021 16:38:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E5=B0=81=E8=A3=85=E9=83=A8?= =?UTF-8?q?=E5=88=86=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tExecuteCgibinExternalContactExtensions.cs | 117 +++- ...WorkClientExecuteCgibinLivingExtensions.cs | 8 +- ...WorkClientExecuteCgibinSchoolExtensions.cs | 606 ++++++++++++++++++ ...atWorkClientExecuteCgibinUserExtensions.cs | 2 + ...inExternalContactBatchGetByUserResponse.cs | 2 +- ...rnalContactBatchToExternalUserIdRequest.cs | 18 + ...nalContactBatchToExternalUserIdResponse.cs | 66 ++ ...inExternalContactConvertToOpenIdRequest.cs | 18 + ...nExternalContactConvertToOpenIdResponse.cs | 18 + .../CgibinExternalContactGetResponse.cs | 49 +- ...ernalContactGetUserBehaviorDataResponse.cs | 2 +- ...gibinExternalContactGroupChatGetRequest.cs | 2 +- ...ibinExternalContactGroupChatGetResponse.cs | 6 +- ...binExternalContactGroupChatListResponse.cs | 2 +- ...ExternalContactGroupChatTransferRequest.cs | 2 +- ...xternalContactGroupChatTransferResponse.cs | 2 +- ...actGroupChatStatisticGroupByDayResponse.cs | 2 +- ...ontactGetGroupMessageSendResultResponse.cs | 2 +- ...nExternalContactGetSubscribeModeRequest.cs | 12 + ...ExternalContactGetSubscribeModeResponse.cs | 18 + ...xternalContactGetSubscribeQrcodeRequest.cs | 12 + ...ternalContactGetSubscribeQrcodeResponse.cs | 32 + ...nExternalContactSetSubscribeModeRequest.cs | 18 + ...ExternalContactSetSubscribeModeResponse.cs | 12 + ...ExternalContactTransferCustomerResponse.cs | 6 +- .../CgibinLivingGetLivingInfoRequest.cs | 2 +- .../CgibinLivingGetLivingInfoResponse.cs | 2 +- .../CgibinLivingGetLivingShareInfoRequest.cs | 2 +- .../CgibinLivingGetLivingShareInfoResponse.cs | 2 +- ... CgibinLivingGetWatchStatisticsRequest.cs} | 4 +- ...CgibinLivingGetWatchStatisticsResponse.cs} | 4 +- ...CgibinMiniProgramTransferSessionRequest.cs | 2 +- ...gibinMiniProgramTransferSessionResponse.cs | 2 +- .../CgibinSchoolGetTeacherViewModeRequest.cs | 12 + .../CgibinSchoolGetTeacherViewModeResponse.cs | 18 + .../CgibinSchoolSetArchSyncModeRequest.cs | 18 + .../CgibinSchoolSetArchSyncModeResponse.cs | 12 + .../CgibinSchoolSetTeacherViewModeRequest.cs | 18 + .../CgibinSchoolSetTeacherViewModeResponse.cs | 12 + .../CgibinSchoolSetUpgradeInfoRequest.cs | 27 + .../CgibinSchoolSetUpgradeInfoResponse.cs | 18 + .../CgibinSchoolDepartmentCreateRequest.cs | 94 +++ .../CgibinSchoolDepartmentCreateResponse.cs | 18 + .../CgibinSchoolDepartmentDeleteRequest.cs | 18 + .../CgibinSchoolDepartmentDeleteResponse.cs | 12 + .../CgibinSchoolDepartmentListRequest.cs | 18 + .../CgibinSchoolDepartmentListResponse.cs | 133 ++++ .../CgibinSchoolDepartmentUpdateRequest.cs | 101 +++ .../CgibinSchoolDepartmentUpdateResponse.cs | 12 + .../CgibinSchoolLivingGetLivingInfoRequest.cs | 18 + ...CgibinSchoolLivingGetLivingInfoResponse.cs | 109 ++++ ...SchoolLivingGetUnwatchStatisticsRequest.cs | 12 + ...choolLivingGetUnwatchStatisticsResponse.cs | 74 +++ ...inSchoolLivingGetWatchStatisticsRequest.cs | 25 + ...nSchoolLivingGetWatchStatisticsResponse.cs | 151 +++++ .../User/CgibinSchoolUserGetRequest.cs | 18 + .../User/CgibinSchoolUserGetResponse.cs | 176 +++++ .../User/CgibinSchoolUserListParentRequest.cs | 18 + .../CgibinSchoolUserListParentResponse.cs | 25 + .../User/CgibinSchoolUserListRequest.cs | 25 + .../User/CgibinSchoolUserListResponse.cs | 25 + ...gibinSchoolUserBatchCreateParentRequest.cs | 59 ++ ...ibinSchoolUserBatchCreateParentResponse.cs | 45 ++ ...gibinSchoolUserBatchDeleteParentRequest.cs | 18 + ...ibinSchoolUserBatchDeleteParentResponse.cs | 12 + ...gibinSchoolUserBatchUpdateParentRequest.cs | 59 ++ ...ibinSchoolUserBatchUpdateParentResponse.cs | 12 + .../CgibinSchoolUserCreateParentRequest.cs | 59 ++ .../CgibinSchoolUserCreateParentResponse.cs | 12 + .../CgibinSchoolUserDeleteParentRequest.cs | 18 + .../CgibinSchoolUserDeleteParentResponse.cs | 12 + .../CgibinSchoolUserUpdateParentRequest.cs | 46 ++ .../CgibinSchoolUserUpdateParentResponse.cs | 12 + ...ibinSchoolUserBatchCreateStudentRequest.cs | 45 ++ ...binSchoolUserBatchCreateStudentResponse.cs | 45 ++ ...ibinSchoolUserBatchDeleteStudentRequest.cs | 18 + ...binSchoolUserBatchDeleteStudentResponse.cs | 12 + ...ibinSchoolUserBatchUpdateStudentRequest.cs | 52 ++ ...binSchoolUserBatchUpdateStudentResponse.cs | 12 + .../CgibinSchoolUserCreateStudentRequest.cs | 32 + .../CgibinSchoolUserCreateStudentResponse.cs | 12 + .../CgibinSchoolUserDeleteStudentRequest.cs | 18 + .../CgibinSchoolUserDeleteStudentResponse.cs | 12 + .../CgibinSchoolUserUpdateStudentRequest.cs | 39 ++ .../CgibinSchoolUserUpdateStudentResponse.cs | 12 + .../CgibinServiceGetAdminListResponse.cs | 4 +- .../CgibinUserAuthSuccessRequest.cs | 2 +- .../CgibinUserBatchDeleteRequest.cs | 2 +- .../CgibinUserConvertToOpenIdRequest.cs | 2 +- .../CgibinUserConvertToUserIdResponse.cs | 2 +- .../CgibinUser/CgibinUserDeleteRequest.cs | 2 +- .../Models/CgibinUser/CgibinUserGetRequest.cs | 2 +- .../CgibinUserGetUserInfoResponse.cs | 27 + 93 files changed, 2951 insertions(+), 36 deletions(-) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinSchoolExtensions.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchToExternalUserIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchToExternalUserIdResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactConvertToOpenIdRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactConvertToOpenIdResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeModeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeModeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeQrcodeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeQrcodeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactSetSubscribeModeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactSetSubscribeModeResponse.cs rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/{CgibinLivingGetWatchStatRequest.cs => CgibinLivingGetWatchStatisticsRequest.cs} (85%) rename src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/{CgibinLivingGetWatchStatResponse.cs => CgibinLivingGetWatchStatisticsResponse.cs} (98%) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolGetTeacherViewModeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolGetTeacherViewModeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetArchSyncModeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetArchSyncModeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetTeacherViewModeRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetTeacherViewModeResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetUpgradeInfoRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetUpgradeInfoResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentCreateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentCreateResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentDeleteRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentDeleteResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentListResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentUpdateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentUpdateResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetLivingInfoRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetLivingInfoResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetUnwatchStatisticsRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetUnwatchStatisticsResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetWatchStatisticsRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetWatchStatisticsResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserGetRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserGetResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListParentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListParentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchCreateParentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchCreateParentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchDeleteParentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchDeleteParentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchUpdateParentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchUpdateParentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserCreateParentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserCreateParentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserDeleteParentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserDeleteParentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserUpdateParentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserUpdateParentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchCreateStudentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchCreateStudentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchDeleteStudentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchDeleteStudentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchUpdateStudentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchUpdateStudentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserCreateStudentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserCreateStudentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserDeleteStudentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserDeleteStudentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserUpdateStudentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserUpdateStudentResponse.cs diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs index ea6546e3..f33ae622 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinExternalContactExtensions.cs @@ -80,8 +80,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work /// /// 异步调用 [GET] /cgi-bin/externalcontact/get 接口。 - /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92113 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92114 /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92265 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92322 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/91670 /// /// /// @@ -235,6 +237,49 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/convert_to_openid 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92323 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92292 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactConvertToOpenIdAsync(this WechatWorkClient client, Models.CgibinExternalContactConvertToOpenIdRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "convert_to_openid") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/batch_to_external_userid 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92506 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactBatchToExternalUserIdAsync(this WechatWorkClient client, Models.CgibinExternalContactBatchToExternalUserIdRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "batch_to_external_userid") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #region ContactWay /// /// 异步调用 [POST] /cgi-bin/externalcontact/add_contact_way 接口。 @@ -937,6 +982,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work /// /// 异步调用 [POST] /cgi-bin/externalcontact/message/send 接口。 /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/91609 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92321 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92291 /// /// /// @@ -958,5 +1005,73 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } #endregion + + #region Subscribe + /// + /// 异步调用 [GET] /cgi-bin/externalcontact/get_subscribe_qr_code 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92320 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92197 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactGetSubscribeQrcodeAsync(this WechatWorkClient client, Models.CgibinExternalContactGetSubscribeQrcodeRequest 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(HttpMethod.Get, "cgi-bin", "externalcontact", "message", "get_subscribe_qr_code") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/externalcontact/set_subscribe_mode 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92318 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92290 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactSetSubscribeModeAsync(this WechatWorkClient client, Models.CgibinExternalContactSetSubscribeModeRequest 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(HttpMethod.Post, "cgi-bin", "externalcontact", "message", "set_subscribe_mode") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/externalcontact/get_subscribe_mode 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92318 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92290 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinExternalContactGetSubscribeModeAsync(this WechatWorkClient client, Models.CgibinExternalContactGetSubscribeModeRequest 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(HttpMethod.Get, "cgi-bin", "externalcontact", "message", "get_subscribe_mode") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLivingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLivingExtensions.cs index ff7531e7..63b16dc0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLivingExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinLivingExtensions.cs @@ -81,6 +81,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work /// 异步调用 [POST] /cgi-bin/living/delete_replay_data 接口。 /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93874 /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93719 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93743 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93860 /// /// /// @@ -170,6 +172,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work /// 异步调用 [POST] /cgi-bin/living/get_user_all_livingid 接口。 /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93634 /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93714 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93739 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93856 /// /// /// @@ -197,7 +201,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work /// /// /// - public static async Task ExecuteCgibinLivingGetWatchStatAsync(this WechatWorkClient client, Models.CgibinLivingGetWatchStatRequest request, CancellationToken cancellationToken = default) + public static async Task ExecuteCgibinLivingGetWatchStatisticsAsync(this WechatWorkClient client, Models.CgibinLivingGetWatchStatisticsRequest request, CancellationToken cancellationToken = default) { if (client is null) throw new ArgumentNullException(nameof(client)); if (request is null) throw new ArgumentNullException(nameof(request)); @@ -207,7 +211,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work .SetOptions(request) .SetQueryParam("access_token", request.AccessToken); - return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinSchoolExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinSchoolExtensions.cs new file mode 100644 index 00000000..535e66f3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinSchoolExtensions.cs @@ -0,0 +1,606 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Flurl; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.Work +{ + public static class WechatWorkClientExecuteCgibinSchoolExtensions + { + /// + /// 异步调用 [POST] /cgi-bin/school/set_teacher_view_mode 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92652 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolSetTeacherViewModeAsync(this WechatWorkClient client, Models.CgibinSchoolSetTeacherViewModeRequest 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(HttpMethod.Post, "cgi-bin", "school", "set_teacher_view_mode") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/school/get_teacher_view_mode 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92652 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolGetTeacherViewModeAsync(this WechatWorkClient client, Models.CgibinSchoolGetTeacherViewModeRequest 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(HttpMethod.Get, "cgi-bin", "school", "get_teacher_view_mode") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/set_arch_sync_mode 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92345 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92083 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolSetArchSyncModeAsync(this WechatWorkClient client, Models.CgibinSchoolSetArchSyncModeRequest 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(HttpMethod.Post, "cgi-bin", "school", "set_arch_sync_mode") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/set_upgrade_info 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92949 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92950 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolSetUpgradeInfoAsync(this WechatWorkClient client, Models.CgibinSchoolSetUpgradeInfoRequest 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(HttpMethod.Post, "cgi-bin", "school", "set_upgrade_info") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + #region User + #region UserStudent + /// + /// 异步调用 [POST] /cgi-bin/school/user/create_student 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92325 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92035 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserCreateStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserCreateStudentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "create_student") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/school/user/delete_student 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92326 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92039 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserDeleteStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserDeleteStudentRequest 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(HttpMethod.Get, "cgi-bin", "school", "user", "delete_student") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken) + .SetQueryParam("userid", request.StudentUserId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/user/update_student 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92327 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92041 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserUpdateStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserUpdateStudentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "update_student") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/user/batch_create_student 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92328 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92037 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserBatchCreateStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchCreateStudentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "batch_create_student") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/user/batch_delete_student 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92329 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92040 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserBatchDeleteStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchDeleteStudentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "batch_delete_student") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/user/batch_update_student 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92330 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92042 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserBatchUpdateStudentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchUpdateStudentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "batch_update_student") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region UserParent + /// + /// 异步调用 [POST] /cgi-bin/school/user/create_parent 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92331 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92077 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserCreateParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserCreateParentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "create_parent") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/school/user/delete_parent 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92332 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92079 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserDeleteParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserDeleteParentRequest 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(HttpMethod.Get, "cgi-bin", "school", "user", "delete_parent") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken) + .SetQueryParam("userid", request.ParentUserId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/user/update_parent 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92333 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92081 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserUpdateParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserUpdateParentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "update_parent") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/user/batch_create_parent 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92334 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92078 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserBatchCreateParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchCreateParentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "batch_create_parent") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/user/batch_delete_parent 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92335 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92080 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserBatchDeleteParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchDeleteParentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "batch_delete_parent") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/user/batch_update_parent 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92336 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92082 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserBatchUpdateParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserBatchUpdateParentRequest 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(HttpMethod.Post, "cgi-bin", "school", "user", "batch_update_parent") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + /// + /// 异步调用 [GET] /cgi-bin/school/user/get 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92337 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92038 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserGetAsync(this WechatWorkClient client, Models.CgibinSchoolUserGetRequest 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(HttpMethod.Get, "cgi-bin", "school", "user", "get") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken) + .SetQueryParam("userid", request.StudentOrParentUserId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/school/user/list 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92338 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92043 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserListAsync(this WechatWorkClient client, Models.CgibinSchoolUserListRequest 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(HttpMethod.Get, "cgi-bin", "school", "user", "list") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken) + .SetQueryParam("department_id", request.DeparmentId); + + if (request.RequireFetchChild.HasValue) + flurlReq.SetQueryParam("fetch_child", request.RequireFetchChild.Value ? 1 : 0); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/school/user/list_parent 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92446 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolUserListParentAsync(this WechatWorkClient client, Models.CgibinSchoolUserListParentRequest 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(HttpMethod.Get, "cgi-bin", "school", "user", "list_parent") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken) + .SetQueryParam("department_id", request.DeparmentId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + #endregion + + #region Department + /// + /// 异步调用 [POST] /cgi-bin/school/department/create 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92340 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92296 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolDepartmentCreateAsync(this WechatWorkClient client, Models.CgibinSchoolDepartmentCreateRequest 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(HttpMethod.Post, "cgi-bin", "school", "department", "create") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/department/update 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92341 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92297 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolDepartmentUpdateAsync(this WechatWorkClient client, Models.CgibinSchoolDepartmentUpdateRequest 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(HttpMethod.Post, "cgi-bin", "school", "department", "update") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/school/department/delete 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92342 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92298 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolDepartmentDeleteAsync(this WechatWorkClient client, Models.CgibinSchoolDepartmentDeleteRequest 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(HttpMethod.Get, "cgi-bin", "school", "department", "delete") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken) + .SetQueryParam("id", request.DepartmentId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [GET] /cgi-bin/school/department/list 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/92343 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/92299 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolDepartmentListAsync(this WechatWorkClient client, Models.CgibinSchoolDepartmentListRequest 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(HttpMethod.Get, "cgi-bin", "school", "department", "list") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + if (request.DepartmentId.HasValue) + flurlReq.SetQueryParam("id", request.DepartmentId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + #endregion + + #region Living + /// + /// 异步调用 [GET] /cgi-bin/school/living/get_living_info 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93740 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93857 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolLivingGetLivingInfoAsync(this WechatWorkClient client, Models.CgibinSchoolLivingGetLivingInfoRequest 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(HttpMethod.Get, "cgi-bin", "school", "living", "get_living_info") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken) + .SetQueryParam("livingid", request.LivingId); + + return await client.SendRequestAsync(flurlReq, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/living/get_watch_stat 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93741 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93858 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolLivingGetWatchStatisticsAsync(this WechatWorkClient client, Models.CgibinSchoolLivingGetWatchStatisticsRequest 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(HttpMethod.Post, "cgi-bin", "school", "living", "get_watch_stat") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/school/living/get_unwatch_stat 接口。 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/93742 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/93859 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinSchoolLivingGetUnwatchStatisticsAsync(this WechatWorkClient client, Models.CgibinSchoolLivingGetUnwatchStatisticsRequest 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(HttpMethod.Post, "cgi-bin", "school", "living", "get_unwatch_stat") + .SetOptions(request) + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinUserExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinUserExtensions.cs index 42038aad..59464977 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinUserExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinUserExtensions.cs @@ -223,6 +223,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work /// 异步调用 [GET] /cgi-bin/user/getuserinfo 接口。 /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/91023 /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/91437 + /// REF: https://open.work.weixin.qq.com/api/doc/90000/90135/91707 + /// REF: https://open.work.weixin.qq.com/api/doc/90001/90143/91711 /// /// /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchGetByUserResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchGetByUserResponse.cs index 7278f3ad..abd9da29 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchGetByUserResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchGetByUserResponse.cs @@ -77,7 +77,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string? State { get; set; } /// - /// 获取或设置发起添加的用户账号。 + /// 获取或设置发起添加的成员账号。 /// [Newtonsoft.Json.JsonProperty("oper_userid")] [System.Text.Json.Serialization.JsonPropertyName("oper_userid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchToExternalUserIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchToExternalUserIdRequest.cs new file mode 100644 index 00000000..9d33cc08 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchToExternalUserIdRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/batch_to_external_userid 接口的请求。 + /// + public class CgibinExternalContactBatchToExternalUserIdRequest : WechatWorkRequest + { + /// + /// 获取或设置手机号码列表。 + /// + [Newtonsoft.Json.JsonProperty("mobiles")] + [System.Text.Json.Serialization.JsonPropertyName("mobiles")] + public IList MobileNumberList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchToExternalUserIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchToExternalUserIdResponse.cs new file mode 100644 index 00000000..93670625 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactBatchToExternalUserIdResponse.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/batch_to_external_userid 接口的响应。 + /// + public class CgibinExternalContactBatchToExternalUserIdResponse : WechatWorkResponse + { + public static class Types + { + public class Result + { + /// + /// 获取或设置错误码。 + /// + [Newtonsoft.Json.JsonProperty("errcode")] + [System.Text.Json.Serialization.JsonPropertyName("errcode")] + public int ErrorCode { get; set; } + + /// + /// 获取或设置错误信息。 + /// + [Newtonsoft.Json.JsonProperty("errmsg")] + [System.Text.Json.Serialization.JsonPropertyName("errmsg")] + public string? ErrorMessage { get; set; } + + /// + /// 获取或设置外部联系人账号。 + /// + [Newtonsoft.Json.JsonProperty("external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid")] + public string? ExternalUserId { get; set; } + + /// + /// 获取或设置由企业或服务商在导入家长时指定的关键字。 + /// + [Newtonsoft.Json.JsonProperty("foreign_key")] + [System.Text.Json.Serialization.JsonPropertyName("foreign_key")] + public string? ForergnKey { get; set; } + + /// + /// 获取或设置手机号码。 + /// + [Newtonsoft.Json.JsonProperty("mobile")] + [System.Text.Json.Serialization.JsonPropertyName("mobile")] + public string? MobileNumber { get; set; } + } + } + + /// + /// 获取或设置转换成功结果列表。 + /// + [Newtonsoft.Json.JsonProperty("success_list")] + [System.Text.Json.Serialization.JsonPropertyName("success_list")] + public Types.Result[] SuccessResultList { get; set; } = default!; + + /// + /// 获取或设置转换失败结果列表。 + /// + [Newtonsoft.Json.JsonProperty("fail_list")] + [System.Text.Json.Serialization.JsonPropertyName("fail_list")] + public Types.Result[] FailResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactConvertToOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactConvertToOpenIdRequest.cs new file mode 100644 index 00000000..3beeb3a4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactConvertToOpenIdRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/convert_to_openid 接口的请求。 + /// + public class CgibinExternalContactConvertToOpenIdRequest : WechatWorkRequest + { + /// + /// 获取或设置外部联系人账号。 + /// + [Newtonsoft.Json.JsonProperty("external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid")] + public string ExternalUserId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactConvertToOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactConvertToOpenIdResponse.cs new file mode 100644 index 00000000..dd34a7ba --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactConvertToOpenIdResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/convert_to_openid 接口的响应。 + /// + public class CgibinExternalContactConvertToOpenIdResponse : WechatWorkResponse + { + /// + /// 获取或设置用户 OpenId。 + /// + [Newtonsoft.Json.JsonProperty("openid")] + [System.Text.Json.Serialization.JsonPropertyName("openid")] + public string OpenId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactGetResponse.cs index 5e993989..41cd7df6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactGetResponse.cs @@ -14,6 +14,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models { public static class Types { + public class Subscriber + { + /// + /// 获取或设置学校为家长设置的企业标签 ID。 + /// + [Newtonsoft.Json.JsonProperty("tag_id")] + [System.Text.Json.Serialization.JsonPropertyName("tag_id")] + public string[]? TagId { get; set; } + + /// + /// 获取或设置学校为家长设置的备注。 + /// + [Newtonsoft.Json.JsonProperty("remark")] + [System.Text.Json.Serialization.JsonPropertyName("remark")] + public string? Remark { get; set; } + + /// + /// 获取或设置学校为家长设置的备注手机号码列表。 + /// + [Newtonsoft.Json.JsonProperty("remark_mobiles")] + [System.Text.Json.Serialization.JsonPropertyName("remark_mobiles")] + public string[]? RemarkMobileNumberList { get; set; } + } + public class ExternalProfile : CgibinUserGetResponse.Types.ExternalProfile { } @@ -33,6 +57,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models [System.Text.Json.Serialization.JsonPropertyName("name")] public string Name { get; set; } = default!; + /// + /// 获取或设置由企业或服务商在导入家长时指定的关键字。 + /// + [Newtonsoft.Json.JsonProperty("foreign_key")] + [System.Text.Json.Serialization.JsonPropertyName("foreign_key")] + public string? ForeignKey { get; set; } + /// /// 获取或设置外部联系人 UnionId。 /// @@ -82,6 +113,22 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models [System.Text.Json.Serialization.JsonPropertyName("corp_full_name")] public string? CorpFullName { get; set; } + /// + /// 获取或设置是否关注了“学校通知”。 + /// + [Newtonsoft.Json.JsonProperty("is_subscribe")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedNullableBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_subscribe")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))] + public bool? IsSubscribe { get; set; } + + /// + /// 获取或设置学校为家长设置的信息。 + /// + [Newtonsoft.Json.JsonProperty("subscriber_info")] + [System.Text.Json.Serialization.JsonPropertyName("subscriber_info")] + public Types.Subscriber? Subscriber { get; set; } + /// /// 获取或设置对外属性信息。 /// @@ -190,7 +237,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public string? State { get; set; } /// - /// 获取或设置发起添加的用户账号。 + /// 获取或设置发起添加的成员账号。 /// [Newtonsoft.Json.JsonProperty("oper_userid")] [System.Text.Json.Serialization.JsonPropertyName("oper_userid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactGetUserBehaviorDataResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactGetUserBehaviorDataResponse.cs index 25f46aa3..351e6858 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactGetUserBehaviorDataResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/CgibinExternalContactGetUserBehaviorDataResponse.cs @@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("stat_time")] [System.Text.Json.Serialization.JsonPropertyName("stat_time")] - public long StatTimestamp { get; set; } + public long StatisticsTimestamp { get; set; } /// /// 获取或设置聊天数。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatGetRequest.cs index a62a7135..0d1d84de 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatGetRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatGetRequest.cs @@ -13,6 +13,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("chat_id")] [System.Text.Json.Serialization.JsonPropertyName("chat_id")] - public string ChatId { get; set; } = string.Empty; + public string GroupChatId { get; set; } = string.Empty; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatGetResponse.cs index c7dfba53..c27aca58 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatGetResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatGetResponse.cs @@ -72,7 +72,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public long JoinTimestamp { get; set; } } - public class Admin + public class Administrator { /// /// 获取或设置管理员成员账号。 @@ -88,7 +88,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("chat_id")] [System.Text.Json.Serialization.JsonPropertyName("chat_id")] - public string ChatId { get; set; } = default!; + public string GroupChatId { get; set; } = default!; /// /// 获取或设置客户群名称。 @@ -123,7 +123,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("admin_list")] [System.Text.Json.Serialization.JsonPropertyName("admin_list")] - public Types.Admin[] AdminList { get; set; } = default!; + public Types.Administrator[] AdministratorList { get; set; } = default!; /// /// 获取或设置创建时间戳。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatListResponse.cs index 33fbf59d..9ac59819 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatListResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatListResponse.cs @@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("chat_id")] [System.Text.Json.Serialization.JsonPropertyName("chat_id")] - public string ChatId { get; set; } = default!; + public string GroupChatId { get; set; } = default!; /// /// 获取或设置跟进状态。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatTransferRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatTransferRequest.cs index df61f067..2634e508 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatTransferRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatTransferRequest.cs @@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("chat_id_list")] [System.Text.Json.Serialization.JsonPropertyName("chat_id_list")] - public IList ChatIdList { get; set; } = new List(); + public IList GroupChatIdList { get; set; } = new List(); /// /// 获取或设置新群主成员账号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatTransferResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatTransferResponse.cs index 61bf49cd..03f4b816 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatTransferResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/CgibinExternalContactGroupChatTransferResponse.cs @@ -17,7 +17,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("chat_id")] [System.Text.Json.Serialization.JsonPropertyName("chat_id")] - public string ChatId { get; set; } = default!; + public string GroupChatId { get; set; } = default!; /// /// 获取或设置错误码。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/Statistic/CgibinExternalContactGroupChatStatisticGroupByDayResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/Statistic/CgibinExternalContactGroupChatStatisticGroupByDayResponse.cs index 01bcd988..8d02684b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/Statistic/CgibinExternalContactGroupChatStatisticGroupByDayResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupChat/Statistic/CgibinExternalContactGroupChatStatisticGroupByDayResponse.cs @@ -24,7 +24,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("stat_time")] [System.Text.Json.Serialization.JsonPropertyName("stat_time")] - public long StatTimestamp { get; set; } + public long StatisticsTimestamp { get; set; } /// /// 获取或设置统计数据。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupMessage/CgibinExternalContactGetGroupMessageSendResultResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupMessage/CgibinExternalContactGetGroupMessageSendResultResponse.cs index 745d7942..9543c751 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupMessage/CgibinExternalContactGetGroupMessageSendResultResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/GroupMessage/CgibinExternalContactGetGroupMessageSendResultResponse.cs @@ -24,7 +24,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("chat_id")] [System.Text.Json.Serialization.JsonPropertyName("chat_id")] - public string? ChatId { get; set; } + public string? GroupChatId { get; set; } /// /// 获取或设置外部联系人账号。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeModeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeModeRequest.cs new file mode 100644 index 00000000..0df8f54a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeModeRequest.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/externalcontact/get_subscribe_mode 接口的请求。 + /// + public class CgibinExternalContactGetSubscribeModeRequest : WechatWorkRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeModeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeModeResponse.cs new file mode 100644 index 00000000..3898daa0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeModeResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/externalcontact/get_subscribe_mode 接口的响应。 + /// + public class CgibinExternalContactGetSubscribeModeResponse : WechatWorkResponse + { + /// + /// 获取或设置关注模式。 + /// + [Newtonsoft.Json.JsonProperty("subscribe_mode")] + [System.Text.Json.Serialization.JsonPropertyName("subscribe_mode")] + public int SubscribeMode { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeQrcodeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeQrcodeRequest.cs new file mode 100644 index 00000000..04ef3e6c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeQrcodeRequest.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/externalcontact/get_subscribe_qr_code 接口的请求。 + /// + public class CgibinExternalContactGetSubscribeQrcodeRequest : WechatWorkRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeQrcodeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeQrcodeResponse.cs new file mode 100644 index 00000000..fdde50cb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactGetSubscribeQrcodeResponse.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/externalcontact/get_subscribe_qr_code 接口的响应。 + /// + public class CgibinExternalContactGetSubscribeQrcodeResponse : WechatWorkResponse + { + /// + /// 获取或设置大尺寸二维码 URL。 + /// + [Newtonsoft.Json.JsonProperty("qrcode_big")] + [System.Text.Json.Serialization.JsonPropertyName("qrcode_big")] + public string BigSizeQrcodeUrl { get; set; } = default!; + + /// + /// 获取或设置中尺寸二维码 URL。 + /// + [Newtonsoft.Json.JsonProperty("qrcode_middle")] + [System.Text.Json.Serialization.JsonPropertyName("qrcode_middle")] + public string MiddleSizeQrcodeUrl { get; set; } = default!; + + /// + /// 获取或设置小尺寸二维码 URL。 + /// + [Newtonsoft.Json.JsonProperty("qrcode_thumb")] + [System.Text.Json.Serialization.JsonPropertyName("qrcode_thumb")] + public string SmallSizeQrcodeUrl { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactSetSubscribeModeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactSetSubscribeModeRequest.cs new file mode 100644 index 00000000..4fa84fae --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactSetSubscribeModeRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/set_subscribe_mode 接口的请求。 + /// + public class CgibinExternalContactSetSubscribeModeRequest : WechatWorkRequest + { + /// + /// 获取或设置关注模式。 + /// + [Newtonsoft.Json.JsonProperty("subscribe_mode")] + [System.Text.Json.Serialization.JsonPropertyName("subscribe_mode")] + public int SubscribeMode { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactSetSubscribeModeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactSetSubscribeModeResponse.cs new file mode 100644 index 00000000..f1c7482e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Subscribe/CgibinExternalContactSetSubscribeModeResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/externalcontact/set_subscribe_mode 接口的响应。 + /// + public class CgibinExternalContactSetSubscribeModeResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Transfer/CgibinExternalContactTransferCustomerResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Transfer/CgibinExternalContactTransferCustomerResponse.cs index 284b47df..07a44ccd 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Transfer/CgibinExternalContactTransferCustomerResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinExternalContact/Transfer/CgibinExternalContactTransferCustomerResponse.cs @@ -10,7 +10,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models { public static class Types { - public class Customer + public class Result { /// /// 获取或设置错误码。 @@ -29,10 +29,10 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models } /// - /// 获取或设置客户列表。 + /// 获取或设置结果列表。 /// [Newtonsoft.Json.JsonProperty("customer")] [System.Text.Json.Serialization.JsonPropertyName("customer")] - public Types.Customer[] CustomerList { get; set; } = default!; + public Types.Result[] ResultList { get; set; } = default!; } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingInfoRequest.cs index c616b954..6d5f6d41 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingInfoRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingInfoRequest.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Work.Models { /// - /// 表示 [GET] /cgi-bin/meeting/get_living_info 接口的请求。 + /// 表示 [GET] /cgi-bin/living/get_living_info 接口的请求。 /// public class CgibinLivingGetLivingInfoRequest : WechatWorkRequest { diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingInfoResponse.cs index f3376a53..682f679b 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingInfoResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingInfoResponse.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Work.Models { /// - /// 表示 [GET] /cgi-bin/meeting/get_living_info 接口的响应。 + /// 表示 [GET] /cgi-bin/living/get_living_info 接口的响应。 /// public class CgibinLivingGetLivingInfoResponse : WechatWorkResponse { diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingShareInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingShareInfoRequest.cs index f57d7a82..a9bd0724 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingShareInfoRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingShareInfoRequest.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Work.Models { /// - /// 表示 [POST] /cgi-bin/meeting/get_living_share_info 接口的请求。 + /// 表示 [POST] /cgi-bin/living/get_living_share_info 接口的请求。 /// public class CgibinLivingGetLivingShareInfoRequest : WechatWorkRequest { diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingShareInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingShareInfoResponse.cs index 7f481b4d..f51a0d0f 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingShareInfoResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetLivingShareInfoResponse.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; namespace SKIT.FlurlHttpClient.Wechat.Work.Models { /// - /// 表示 [POST] /cgi-bin/meeting/get_living_share_info 接口的响应。 + /// 表示 [POST] /cgi-bin/living/get_living_share_info 接口的响应。 /// public class CgibinLivingGetLivingShareInfoResponse : WechatWorkResponse { diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatisticsRequest.cs similarity index 85% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatRequest.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatisticsRequest.cs index be49af50..e324ac2d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatisticsRequest.cs @@ -6,7 +6,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// /// 表示 [POST] /cgi-bin/living/get_watch_stat 接口的请求。 /// - public class CgibinLivingGetWatchStatRequest : WechatWorkRequest + public class CgibinLivingGetWatchStatisticsRequest : WechatWorkRequest { /// /// 获取或设置直播 ID。 @@ -20,6 +20,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("next_key")] [System.Text.Json.Serialization.JsonPropertyName("next_key")] - public string? NextKey { get; set; } + public string? NextCursor { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatisticsResponse.cs similarity index 98% rename from src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatResponse.cs rename to src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatisticsResponse.cs index 866dacf1..bf8a2e14 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinLiving/CgibinLivingGetWatchStatisticsResponse.cs @@ -6,7 +6,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// /// 表示 [POST] /cgi-bin/living/get_watch_stat 接口的响应。 /// - public class CgibinLivingGetWatchStatResponse : WechatWorkResponse + public class CgibinLivingGetWatchStatisticsResponse : WechatWorkResponse { public static class Types { @@ -136,6 +136,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("next_key")] [System.Text.Json.Serialization.JsonPropertyName("next_key")] - public string? NextKey { get; set; } + public string? NextCursor { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMiniProgram/CgibinMiniProgramTransferSessionRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMiniProgram/CgibinMiniProgramTransferSessionRequest.cs index ef08fbe1..5ac34aa3 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMiniProgram/CgibinMiniProgramTransferSessionRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMiniProgram/CgibinMiniProgramTransferSessionRequest.cs @@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public class CgibinMiniProgramTransferSessionRequest : WechatWorkRequest { /// - /// 获取或设置用户账号。 + /// 获取或设置成员账号。 /// [Newtonsoft.Json.JsonProperty("userid")] [System.Text.Json.Serialization.JsonPropertyName("userid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMiniProgram/CgibinMiniProgramTransferSessionResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMiniProgram/CgibinMiniProgramTransferSessionResponse.cs index 3728451a..23e10531 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMiniProgram/CgibinMiniProgramTransferSessionResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMiniProgram/CgibinMiniProgramTransferSessionResponse.cs @@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public class CgibinMiniProgramTransferSessionResponse : WechatWorkResponse { /// - /// 获取或设置下级企业的用户账号。 + /// 获取或设置下级企业的成员账号。 /// [Newtonsoft.Json.JsonProperty("userid")] [System.Text.Json.Serialization.JsonPropertyName("userid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolGetTeacherViewModeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolGetTeacherViewModeRequest.cs new file mode 100644 index 00000000..d7e441e5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolGetTeacherViewModeRequest.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/get_teacher_view_mode 接口的请求。 + /// + public class CgibinSchoolGetTeacherViewModeRequest : WechatWorkRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolGetTeacherViewModeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolGetTeacherViewModeResponse.cs new file mode 100644 index 00000000..7be38519 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolGetTeacherViewModeResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/get_teacher_view_mode 接口的响应。 + /// + public class CgibinSchoolGetTeacherViewModeResponse : WechatWorkResponse + { + /// + /// 获取或设置查看模式。 + /// + [Newtonsoft.Json.JsonProperty("view_mode")] + [System.Text.Json.Serialization.JsonPropertyName("view_mode")] + public int ViewMode { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetArchSyncModeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetArchSyncModeRequest.cs new file mode 100644 index 00000000..f17b3410 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetArchSyncModeRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/set_arch_sync_mode 接口的请求。 + /// + public class CgibinSchoolSetArchSyncModeRequest : WechatWorkRequest + { + /// + /// 获取或设置家校通讯录同步模式。 + /// + [Newtonsoft.Json.JsonProperty("arch_sync_mode")] + [System.Text.Json.Serialization.JsonPropertyName("arch_sync_mode")] + public int ArchSyncMode { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetArchSyncModeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetArchSyncModeResponse.cs new file mode 100644 index 00000000..f2479dcb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetArchSyncModeResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/set_arch_sync_mode 接口的响应。 + /// + public class CgibinSchoolSetArchSyncModeResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetTeacherViewModeRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetTeacherViewModeRequest.cs new file mode 100644 index 00000000..66b0941e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetTeacherViewModeRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/set_teacher_view_mode 接口的请求。 + /// + public class CgibinSchoolSetTeacherViewModeRequest : WechatWorkRequest + { + /// + /// 获取或设置查看模式。 + /// + [Newtonsoft.Json.JsonProperty("view_mode")] + [System.Text.Json.Serialization.JsonPropertyName("view_mode")] + public int ViewMode { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetTeacherViewModeResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetTeacherViewModeResponse.cs new file mode 100644 index 00000000..2f71cfe6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetTeacherViewModeResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/set_teacher_view_mode 接口的响应。 + /// + public class CgibinSchoolSetTeacherViewModeResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetUpgradeInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetUpgradeInfoRequest.cs new file mode 100644 index 00000000..26290391 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetUpgradeInfoRequest.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/set_upgrade_info 接口的请求。 + /// + public class CgibinSchoolSetUpgradeInfoRequest : WechatWorkRequest + { + /// + /// 获取或设置是否自动升年级。 + /// + [Newtonsoft.Json.JsonProperty("upgrade_switch")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("upgrade_switch")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] + public bool UpgradeSwitch { get; set; } + + /// + /// 获取或设置自动升年级的时间戳(仅月日有效)。 + /// + [Newtonsoft.Json.JsonProperty("upgrade_time")] + [System.Text.Json.Serialization.JsonPropertyName("upgrade_time")] + public long? UpgradeTimestamp { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetUpgradeInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetUpgradeInfoResponse.cs new file mode 100644 index 00000000..e2035feb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/CgibinSchoolSetUpgradeInfoResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/set_upgrade_info 接口的响应。 + /// + public class CgibinSchoolSetUpgradeInfoResponse : WechatWorkResponse + { + /// + /// 获取或设置下次升年级的时间戳。 + /// + [Newtonsoft.Json.JsonProperty("next_upgrade_time")] + [System.Text.Json.Serialization.JsonPropertyName("next_upgrade_time")] + public long NextUpgradeTimestamp { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentCreateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentCreateRequest.cs new file mode 100644 index 00000000..09e4a67a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentCreateRequest.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/department/create 接口的请求。 + /// + public class CgibinSchoolDepartmentCreateRequest : WechatWorkRequest + { + public static class Types + { + public class Administrator + { + /// + /// 获取或设置管理员成员账号。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = string.Empty; + + /// + /// 获取或设置管理员类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置教师科目。 + /// + [Newtonsoft.Json.JsonProperty("subject")] + [System.Text.Json.Serialization.JsonPropertyName("subject")] + public string? Subject { get; set; } + } + } + + /// + /// 获取或设置部门 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public int? DepartmentId { get; set; } + + /// + /// 获取或设置部门名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置部门类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置上级部门 ID。 + /// + [Newtonsoft.Json.JsonProperty("parentid")] + [System.Text.Json.Serialization.JsonPropertyName("parentid")] + public int ParentDepartmentId { get; set; } + + /// + /// 获取或设置标准年级。 + /// + [Newtonsoft.Json.JsonProperty("standard_grade")] + [System.Text.Json.Serialization.JsonPropertyName("standard_grade")] + public int? StandardGrade { get; set; } + + /// + /// 获取或设置入学年份。 + /// + [Newtonsoft.Json.JsonProperty("register_year")] + [System.Text.Json.Serialization.JsonPropertyName("register_year")] + public int? RegisterYear { get; set; } + + /// + /// 获取或设置排序值。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int? Order { get; set; } + + /// + /// 获取或设置部门管理员列表。 + /// + [Newtonsoft.Json.JsonProperty("department_admins")] + [System.Text.Json.Serialization.JsonPropertyName("department_admins")] + public IList? AdministratorList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentCreateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentCreateResponse.cs new file mode 100644 index 00000000..2b3f361a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentCreateResponse.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/department/create 接口的响应。 + /// + public class CgibinSchoolDepartmentCreateResponse : WechatWorkResponse + { + /// + /// 获取或设置部门 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public int DepartmentId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentDeleteRequest.cs new file mode 100644 index 00000000..7d6485e3 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentDeleteRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/department/delete 接口的请求。 + /// + public class CgibinSchoolDepartmentDeleteRequest : WechatWorkRequest + { + /// + /// 获取或设置部门 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int DepartmentId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentDeleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentDeleteResponse.cs new file mode 100644 index 00000000..ba156d4c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentDeleteResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/department/delete 接口的响应。 + /// + public class CgibinSchoolDepartmentDeleteResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentListRequest.cs new file mode 100644 index 00000000..8e7d87a9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentListRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/department/list 接口的请求。 + /// + public class CgibinSchoolDepartmentListRequest : WechatWorkRequest + { + /// + /// 获取或设置指定部门 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int? DepartmentId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentListResponse.cs new file mode 100644 index 00000000..e7b6652d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentListResponse.cs @@ -0,0 +1,133 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/department/list 接口的响应。 + /// + public class CgibinSchoolDepartmentListResponse : WechatWorkResponse + { + public static class Types + { + public class Department + { + public static class Types + { + public class Administrator + { + /// + /// 获取或设置管理员成员账号。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = default!; + + /// + /// 获取或设置管理员类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置教师科目。 + /// + [Newtonsoft.Json.JsonProperty("subject")] + [System.Text.Json.Serialization.JsonPropertyName("subject")] + public string? Subject { get; set; } + } + } + + /// + /// 获取或设置部门 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public int DepartmentId { get; set; } + + /// + /// 获取或设置部门名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置部门类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int Type { get; set; } + + /// + /// 获取或设置上级部门 ID。 + /// + [Newtonsoft.Json.JsonProperty("parentid")] + [System.Text.Json.Serialization.JsonPropertyName("parentid")] + public int ParentDepartmentId { get; set; } + + /// + /// 获取或设置标准年级。 + /// + [Newtonsoft.Json.JsonProperty("standard_grade")] + [System.Text.Json.Serialization.JsonPropertyName("standard_grade")] + public int? StandardGrade { get; set; } + + /// + /// 获取或设置入学年份。 + /// + [Newtonsoft.Json.JsonProperty("register_year")] + [System.Text.Json.Serialization.JsonPropertyName("register_year")] + public int? RegisterYear { get; set; } + + /// + /// 获取或设置排序值。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int? Order { get; set; } + + /// + /// 获取或设置部门管理员列表。 + /// + [Newtonsoft.Json.JsonProperty("department_admins")] + [System.Text.Json.Serialization.JsonPropertyName("department_admins")] + public Types.Administrator[] AdministratorList { get; set; } = default!; + + /// + /// 获取或设置是否已毕业。 + /// + [Newtonsoft.Json.JsonProperty("is_graduated")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedNullableBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_graduated")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))] + public bool? IsGraduated { get; set; } + + /// + /// 获取或设置是否开启客户群(即班级群)。 + /// + [Newtonsoft.Json.JsonProperty("open_group_chat")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedNullableBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("open_group_chat")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedNullableBooleanConverter))] + public bool? IsOpenGroupChat { get; set; } + + /// + /// 获取或设置客户群(即班级群)ID。 + /// + [Newtonsoft.Json.JsonProperty("group_chat_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_chat_id")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedStringConverter))] + public string? GroupChatId { get; set; } + } + } + + /// + /// 获取或设置部门列表。 + /// + [Newtonsoft.Json.JsonProperty("departments")] + [System.Text.Json.Serialization.JsonPropertyName("departments")] + public Types.Department[] DepartmentList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentUpdateRequest.cs new file mode 100644 index 00000000..80aeb40a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentUpdateRequest.cs @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/department/update 接口的请求。 + /// + public class CgibinSchoolDepartmentUpdateRequest : WechatWorkRequest + { + public static class Types + { + public class Administrator + { + /// + /// 获取或设置操作类型。 + /// + [Newtonsoft.Json.JsonProperty("op")] + [System.Text.Json.Serialization.JsonPropertyName("op")] + public int OperationType { get; set; } + + /// + /// 获取或设置管理员成员账号。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string UserId { get; set; } = string.Empty; + + /// + /// 获取或设置管理员类型。 + /// + [Newtonsoft.Json.JsonProperty("type")] + [System.Text.Json.Serialization.JsonPropertyName("type")] + public int? Type { get; set; } + + /// + /// 获取或设置教师科目。 + /// + [Newtonsoft.Json.JsonProperty("subject")] + [System.Text.Json.Serialization.JsonPropertyName("subject")] + public string? Subject { get; set; } + } + } + + /// + /// 获取或设置部门 ID。 + /// + [Newtonsoft.Json.JsonProperty("id")] + [System.Text.Json.Serialization.JsonPropertyName("id")] + public int DepartmentId { get; set; } + + /// + /// 获取或设置新的部门 ID。 + /// + [Newtonsoft.Json.JsonProperty("new_id")] + [System.Text.Json.Serialization.JsonPropertyName("new_id")] + public int? NewDepartmentId { get; set; } + + /// + /// 获取或设置部门名称。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// 获取或设置上级部门 ID。 + /// + [Newtonsoft.Json.JsonProperty("parentid")] + [System.Text.Json.Serialization.JsonPropertyName("parentid")] + public int? ParentDepartmentId { get; set; } + + /// + /// 获取或设置标准年级。 + /// + [Newtonsoft.Json.JsonProperty("standard_grade")] + [System.Text.Json.Serialization.JsonPropertyName("standard_grade")] + public int? StandardGrade { get; set; } + + /// + /// 获取或设置入学年份。 + /// + [Newtonsoft.Json.JsonProperty("register_year")] + [System.Text.Json.Serialization.JsonPropertyName("register_year")] + public int? RegisterYear { get; set; } + + /// + /// 获取或设置排序值。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int? Order { get; set; } + + /// + /// 获取或设置部门管理员列表。 + /// + [Newtonsoft.Json.JsonProperty("department_admins")] + [System.Text.Json.Serialization.JsonPropertyName("department_admins")] + public IList? AdministratorList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentUpdateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentUpdateResponse.cs new file mode 100644 index 00000000..bdaf45fa --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Department/CgibinSchoolDepartmentUpdateResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/department/update 接口的响应。 + /// + public class CgibinSchoolDepartmentUpdateResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetLivingInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetLivingInfoRequest.cs new file mode 100644 index 00000000..ab911bf8 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetLivingInfoRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/living/get_living_info 接口的请求。 + /// + public class CgibinSchoolLivingGetLivingInfoRequest : WechatWorkRequest + { + /// + /// 获取或设置直播 ID。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string LivingId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetLivingInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetLivingInfoResponse.cs new file mode 100644 index 00000000..3c27b716 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetLivingInfoResponse.cs @@ -0,0 +1,109 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/living/get_living_info 接口的响应。 + /// + public class CgibinSchoolLivingGetLivingInfoResponse : WechatWorkResponse + { + public static class Types + { + public class Living + { + public static class Types + { + public class LivingRange + { + /// + /// 获取或设置部门 ID(即班级)列表。 + /// + [Newtonsoft.Json.JsonProperty("partyids")] + [System.Text.Json.Serialization.JsonPropertyName("partyids")] + public int[]? DepartmentIdList { get; set; } + + /// + /// 获取或设置客户群(即班级群)名称列表。 + /// + [Newtonsoft.Json.JsonProperty("group_names")] + [System.Text.Json.Serialization.JsonPropertyName("group_names")] + public string[]? GroupChatNameList { get; set; } + } + } + + /// + /// 获取或设置主播成员账号。 + /// + [Newtonsoft.Json.JsonProperty("anchor_userid")] + [System.Text.Json.Serialization.JsonPropertyName("anchor_userid")] + public string AnchorUserId { get; set; } = default!; + + /// + /// 获取或设置直播标题。 + /// + [Newtonsoft.Json.JsonProperty("theme")] + [System.Text.Json.Serialization.JsonPropertyName("theme")] + public string Theme { get; set; } = default!; + + /// + /// 获取或设置直播开始时间戳。 + /// + [Newtonsoft.Json.JsonProperty("living_start")] + [System.Text.Json.Serialization.JsonPropertyName("living_start")] + public long StartTimestamp { get; set; } + + /// + /// 获取或设置直播持续时长(单位:秒)。 + /// + [Newtonsoft.Json.JsonProperty("living_duration")] + [System.Text.Json.Serialization.JsonPropertyName("living_duration")] + public int Duration { get; set; } + + /// + /// 获取或设置直播范围。 + /// + [Newtonsoft.Json.JsonProperty("living_range")] + [System.Text.Json.Serialization.JsonPropertyName("living_range")] + public Types.LivingRange Range { get; set; } = default!; + + /// + /// 获取或设置是否开启回放。 + /// + [Newtonsoft.Json.JsonProperty("open_replay")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("open_replay")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] + public bool IsOpenReplay { get; set; } + + /// + /// 获取或设置观众总人数。 + /// + [Newtonsoft.Json.JsonProperty("viewer_num")] + [System.Text.Json.Serialization.JsonPropertyName("viewer_num")] + public int ViewerCount { get; set; } + + /// + /// 获取或设置评论数。 + /// + [Newtonsoft.Json.JsonProperty("comment_num")] + [System.Text.Json.Serialization.JsonPropertyName("comment_num")] + public int CommentCount { get; set; } + + /// + /// 获取或设置推流地址 URL。 + /// + [Newtonsoft.Json.JsonProperty("push_stream_url")] + [System.Text.Json.Serialization.JsonPropertyName("push_stream_url")] + public string? PushStreamUrl { get; set; } + } + } + + /// + /// 获取或设置直播信息。 + /// + [Newtonsoft.Json.JsonProperty("living_info")] + [System.Text.Json.Serialization.JsonPropertyName("living_info")] + public Types.Living Living { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetUnwatchStatisticsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetUnwatchStatisticsRequest.cs new file mode 100644 index 00000000..d5d8268c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetUnwatchStatisticsRequest.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/living/get_unwatch_stat 接口的请求。 + /// + public class CgibinSchoolLivingGetUnwatchStatisticsRequest : CgibinSchoolLivingGetWatchStatisticsRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetUnwatchStatisticsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetUnwatchStatisticsResponse.cs new file mode 100644 index 00000000..8e64a608 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetUnwatchStatisticsResponse.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/living/get_unwatch_stat 接口的响应。 + /// + public class CgibinSchoolLivingGetUnwatchStatisticsResponse : WechatWorkResponse + { + public static class Types + { + public class Statistics + { + public static class Types + { + public class Student + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string? StudentUserId { get; set; } + + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string? ParentUserId { get; set; } + + /// + /// 获取或设置学生所在的部门 ID(即班级)列表。 + /// + [Newtonsoft.Json.JsonProperty("partyids")] + [System.Text.Json.Serialization.JsonPropertyName("partyids")] + public int[] DepartmentIdList { get; set; } = default!; + } + } + + /// + /// 获取或设置学生列表。 + /// + [Newtonsoft.Json.JsonProperty("students")] + [System.Text.Json.Serialization.JsonPropertyName("students")] + public Types.Student[] StudentList { get; set; } = default!; + } + } + + /// + /// 获取或设置统计信息。 + /// + [Newtonsoft.Json.JsonProperty("stat_info")] + [System.Text.Json.Serialization.JsonPropertyName("stat_info")] + public Types.Statistics Statistics { get; set; } = default!; + + /// + /// 获取或设置翻页是否结束。 + /// + [Newtonsoft.Json.JsonProperty("ending")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("ending")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] + public bool IsEnding { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_key")] + [System.Text.Json.Serialization.JsonPropertyName("next_key")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetWatchStatisticsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetWatchStatisticsRequest.cs new file mode 100644 index 00000000..2d588c2f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetWatchStatisticsRequest.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/living/get_watch_stat 接口的请求。 + /// + public class CgibinSchoolLivingGetWatchStatisticsRequest : WechatWorkRequest + { + /// + /// 获取或设置直播 ID。 + /// + [Newtonsoft.Json.JsonProperty("livingid")] + [System.Text.Json.Serialization.JsonPropertyName("livingid")] + public string LivingId { get; set; } = string.Empty; + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_key")] + [System.Text.Json.Serialization.JsonPropertyName("next_key")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetWatchStatisticsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetWatchStatisticsResponse.cs new file mode 100644 index 00000000..64be5cdd --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/Living/CgibinSchoolLivingGetWatchStatisticsResponse.cs @@ -0,0 +1,151 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/living/get_watch_stat 接口的响应。 + /// + public class CgibinSchoolLivingGetWatchStatisticsResponse : WechatWorkResponse + { + public static class Types + { + public class Statistics + { + public static class Types + { + public class Student + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string? StudentUserId { get; set; } + + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string? ParentUserId { get; set; } + + /// + /// 获取或设置学生所在的部门 ID(即班级)列表。 + /// + [Newtonsoft.Json.JsonProperty("partyids")] + [System.Text.Json.Serialization.JsonPropertyName("partyids")] + public int[] DepartmentIdList { get; set; } = default!; + + /// + /// 获取或设置观看时长(单位:秒)。 + /// + [Newtonsoft.Json.JsonProperty("watch_time")] + [System.Text.Json.Serialization.JsonPropertyName("watch_time")] + public int WatchTime { get; set; } + + /// + /// 获取或设置首次进入直播时间戳。 + /// + [Newtonsoft.Json.JsonProperty("enter_time")] + [System.Text.Json.Serialization.JsonPropertyName("enter_time")] + public long EnterTimestamp { get; set; } + + /// + /// 获取或设置最后离开直播时间戳。 + /// + [Newtonsoft.Json.JsonProperty("leave_time")] + [System.Text.Json.Serialization.JsonPropertyName("leave_time")] + public long LeaveTimestamp { get; set; } + + /// + /// 获取或设置是否评论。 + /// + [Newtonsoft.Json.JsonProperty("is_comment")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_comment")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] + public bool IsComment { get; set; } + } + + public class Visitor + { + /// + /// 获取或设置微信昵称。 + /// + [Newtonsoft.Json.JsonProperty("nickname")] + [System.Text.Json.Serialization.JsonPropertyName("nickname")] + public string? Nickname { get; set; } + + /// + /// 获取或设置观看时长(单位:秒)。 + /// + [Newtonsoft.Json.JsonProperty("watch_time")] + [System.Text.Json.Serialization.JsonPropertyName("watch_time")] + public int WatchTime { get; set; } + + /// + /// 获取或设置首次进入直播时间戳。 + /// + [Newtonsoft.Json.JsonProperty("enter_time")] + [System.Text.Json.Serialization.JsonPropertyName("enter_time")] + public long EnterTimestamp { get; set; } + + /// + /// 获取或设置最后离开直播时间戳。 + /// + [Newtonsoft.Json.JsonProperty("leave_time")] + [System.Text.Json.Serialization.JsonPropertyName("leave_time")] + public long LeaveTimestamp { get; set; } + + /// + /// 获取或设置是否评论。 + /// + [Newtonsoft.Json.JsonProperty("is_comment")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_comment")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] + public bool IsComment { get; set; } + } + } + + /// + /// 获取或设置学生列表。 + /// + [Newtonsoft.Json.JsonProperty("students")] + [System.Text.Json.Serialization.JsonPropertyName("students")] + public Types.Student[] StudentList { get; set; } = default!; + + /// + /// 获取或设置观众列表。 + /// + [Newtonsoft.Json.JsonProperty("visitors")] + [System.Text.Json.Serialization.JsonPropertyName("visitors")] + public Types.Visitor[] VisitorList { get; set; } = default!; + } + } + + /// + /// 获取或设置统计信息。 + /// + [Newtonsoft.Json.JsonProperty("stat_infoes")] + [System.Text.Json.Serialization.JsonPropertyName("stat_infoes")] + public Types.Statistics Statistics { get; set; } = default!; + + /// + /// 获取或设置翻页是否结束。 + /// + [Newtonsoft.Json.JsonProperty("ending")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("ending")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] + public bool IsEnding { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_key")] + [System.Text.Json.Serialization.JsonPropertyName("next_key")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserGetRequest.cs new file mode 100644 index 00000000..d08af816 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserGetRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/get 接口的请求。 + /// + public class CgibinSchoolUserGetRequest : WechatWorkRequest + { + /// + /// 获取或设置学生或家长账号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string StudentOrParentUserId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserGetResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserGetResponse.cs new file mode 100644 index 00000000..94e5912a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserGetResponse.cs @@ -0,0 +1,176 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/get 接口的响应。 + /// + public class CgibinSchoolUserGetResponse : WechatWorkResponse + { + public static class Types + { + public class Student + { + public static class Types + { + public class Parent + { + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string ParentUserId { get; set; } = default!; + + /// + /// 获取或设置手机号码。 + /// + [Newtonsoft.Json.JsonProperty("mobile")] + [System.Text.Json.Serialization.JsonPropertyName("mobile")] + public string? MobileNumber { get; set; } + + /// + /// 获取或设置家长与学生的关系。 + /// + [Newtonsoft.Json.JsonProperty("relation")] + [System.Text.Json.Serialization.JsonPropertyName("relation")] + public string Relation { get; set; } = default!; + + /// + /// 获取或设置是否关注了“学校通知”。 + /// + [Newtonsoft.Json.JsonProperty("is_subscribe")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_subscribe")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] + public bool IsSubscribe { get; set; } + + /// + /// 获取或设置外部联系人账号。 + /// + [Newtonsoft.Json.JsonProperty("external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid")] + public string? ExternalUserId { get; set; } + } + } + + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string StudentUserId { get; set; } = default!; + + /// + /// 获取或设置学生姓名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置学生所在的部门 ID(即班级)列表。 + /// + [Newtonsoft.Json.JsonProperty("department")] + [System.Text.Json.Serialization.JsonPropertyName("department")] + public int[] DepartmentIdList { get; set; } = default!; + + /// + /// 获取或设置学生的家长列表。 + /// + [Newtonsoft.Json.JsonProperty("parents")] + [System.Text.Json.Serialization.JsonPropertyName("parents")] + public Types.Parent[] Parents { get; set; } = default!; + } + + public class Parent + { + public static class Types + { + public class Child + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string StudentUserId { get; set; } = default!; + + /// + /// 获取或设置学生姓名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// 获取或设置家长与学生的关系。 + /// + [Newtonsoft.Json.JsonProperty("relation")] + [System.Text.Json.Serialization.JsonPropertyName("relation")] + public string Relation { get; set; } = default!; + } + } + + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string ParentUserId { get; set; } = default!; + + /// + /// 获取或设置手机号码。 + /// + [Newtonsoft.Json.JsonProperty("mobile")] + [System.Text.Json.Serialization.JsonPropertyName("mobile")] + public string MobileNumber { get; set; } = default!; + + /// + /// 获取或设置家长的孩子列表。 + /// + [Newtonsoft.Json.JsonProperty("children")] + [System.Text.Json.Serialization.JsonPropertyName("children")] + public Types.Child[] Children { get; set; } = default!; + + /// + /// 获取或设置是否关注了“学校通知”。 + /// + [Newtonsoft.Json.JsonProperty("is_subscribe")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumberTypedBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_subscribe")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumberTypedBooleanConverter))] + public bool IsSubscribe { get; set; } + + /// + /// 获取或设置外部联系人账号。 + /// + [Newtonsoft.Json.JsonProperty("external_userid")] + [System.Text.Json.Serialization.JsonPropertyName("external_userid")] + public string? ExternalUserId { get; set; } + } + } + + /// + /// 获取或设置用户类型。 + /// + [Newtonsoft.Json.JsonProperty("user_type")] + [System.Text.Json.Serialization.JsonPropertyName("user_type")] + public int UserType { get; set; } + + /// + /// 获取或设置学生信息。 + /// + [Newtonsoft.Json.JsonProperty("student")] + [System.Text.Json.Serialization.JsonPropertyName("student")] + public Types.Student? Student { get; set; } + + /// + /// 获取或设置家长信息。 + /// + [Newtonsoft.Json.JsonProperty("parent")] + [System.Text.Json.Serialization.JsonPropertyName("parent")] + public Types.Parent? Parent { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListParentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListParentRequest.cs new file mode 100644 index 00000000..313d7656 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListParentRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/list_parent 接口的请求。 + /// + public class CgibinSchoolUserListParentRequest : WechatWorkRequest + { + /// + /// 获取或设置部门 ID(即班级)。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int DeparmentId { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListParentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListParentResponse.cs new file mode 100644 index 00000000..204ad61b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListParentResponse.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/list_parent 接口的响应。 + /// + public class CgibinSchoolUserListParentResponse : WechatWorkResponse + { + public static class Types + { + public class Parent : CgibinSchoolUserGetResponse.Types.Parent + { + } + } + + /// + /// 获取或设置家长列表。 + /// + [Newtonsoft.Json.JsonProperty("parents")] + [System.Text.Json.Serialization.JsonPropertyName("parents")] + public Types.Parent[] ParentList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListRequest.cs new file mode 100644 index 00000000..f6a67fd2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListRequest.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/list 接口的请求。 + /// + public class CgibinSchoolUserListRequest : WechatWorkRequest + { + /// + /// 获取或设置部门 ID(即班级)。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public int DeparmentId { get; set; } + + /// + /// 获取或设置是否递归获取子部门成员。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public bool? RequireFetchChild { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListResponse.cs new file mode 100644 index 00000000..83c43841 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/CgibinSchoolUserListResponse.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/list 接口的响应。 + /// + public class CgibinSchoolUserListResponse : WechatWorkResponse + { + public static class Types + { + public class Student : CgibinSchoolUserGetResponse.Types.Student + { + } + } + + /// + /// 获取或设置学生列表。 + /// + [Newtonsoft.Json.JsonProperty("students")] + [System.Text.Json.Serialization.JsonPropertyName("students")] + public Types.Student[] StudentList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchCreateParentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchCreateParentRequest.cs new file mode 100644 index 00000000..8dfcfd34 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchCreateParentRequest.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_create_parent 接口的请求。 + /// + public class CgibinSchoolUserBatchCreateParentRequest : WechatWorkRequest + { + public static class Types + { + public class Parent + { + public static class Types + { + public class Child : CgibinSchoolUserCreateParentRequest.Types.Child + { + } + } + + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string ParentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置手机号码。 + /// + [Newtonsoft.Json.JsonProperty("mobile")] + [System.Text.Json.Serialization.JsonPropertyName("mobile")] + public string MobileNumber { get; set; } = string.Empty; + + /// + /// 获取或设置是否发起邀请。 + /// + [Newtonsoft.Json.JsonProperty("to_invite")] + [System.Text.Json.Serialization.JsonPropertyName("to_invite")] + public bool? RequireInvite { get; set; } + + /// + /// 获取或设置家长的孩子列表。 + /// + [Newtonsoft.Json.JsonProperty("children")] + [System.Text.Json.Serialization.JsonPropertyName("children")] + public IList Children { get; set; } = new List(); + } + } + + /// + /// 获取或设置家长列表。 + /// + [Newtonsoft.Json.JsonProperty("parents")] + [System.Text.Json.Serialization.JsonPropertyName("parents")] + public IList ParentList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchCreateParentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchCreateParentResponse.cs new file mode 100644 index 00000000..e32afd31 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchCreateParentResponse.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_create_parent 接口的响应。 + /// + public class CgibinSchoolUserBatchCreateParentResponse : WechatWorkResponse + { + public static class Types + { + public class Result + { + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string ParentUserId { get; set; } = default!; + + /// + /// 获取或设置错误码。 + /// + [Newtonsoft.Json.JsonProperty("errcode")] + [System.Text.Json.Serialization.JsonPropertyName("errcode")] + public int ErrorCode { get; set; } + + /// + /// 获取或设置错误描述。 + /// + [Newtonsoft.Json.JsonProperty("errmsg")] + [System.Text.Json.Serialization.JsonPropertyName("errmsg")] + public string ErrorMessage { get; set; } = default!; + } + } + + /// + /// 获取或设置结果列表。 + /// + [Newtonsoft.Json.JsonProperty("result_list")] + [System.Text.Json.Serialization.JsonPropertyName("result_list")] + public Types.Result[] ResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchDeleteParentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchDeleteParentRequest.cs new file mode 100644 index 00000000..60bdbb23 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchDeleteParentRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_delete_parent 接口的请求。 + /// + public class CgibinSchoolUserBatchDeleteParentRequest : WechatWorkRequest + { + /// + /// 获取或设置家长账号列表。 + /// + [Newtonsoft.Json.JsonProperty("useridlist")] + [System.Text.Json.Serialization.JsonPropertyName("useridlist")] + public IList ParentUserIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchDeleteParentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchDeleteParentResponse.cs new file mode 100644 index 00000000..3c9ad470 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchDeleteParentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_delete_parent 接口的响应。 + /// + public class CgibinSchoolUserBatchDeleteParentResponse : CgibinSchoolUserBatchCreateParentResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchUpdateParentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchUpdateParentRequest.cs new file mode 100644 index 00000000..369db94a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchUpdateParentRequest.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_update_parent 接口的请求。 + /// + public class CgibinSchoolUserBatchUpdateParentRequest : WechatWorkRequest + { + public static class Types + { + public class Parent + { + public static class Types + { + public class Child : CgibinSchoolUserUpdateParentRequest.Types.Child + { + } + } + + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string ParentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置新的家长账号。 + /// + [Newtonsoft.Json.JsonProperty("new_parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("new_parent_userid")] + public string? NewParentUserId { get; set; } + + /// + /// 获取或设置手机号码。 + /// + [Newtonsoft.Json.JsonProperty("mobile")] + [System.Text.Json.Serialization.JsonPropertyName("mobile")] + public string? MobileNumber { get; set; } + + /// + /// 获取或设置家长的孩子列表。 + /// + [Newtonsoft.Json.JsonProperty("children")] + [System.Text.Json.Serialization.JsonPropertyName("children")] + public IList? Children { get; set; } + } + } + + /// + /// 获取或设置家长列表。 + /// + [Newtonsoft.Json.JsonProperty("parents")] + [System.Text.Json.Serialization.JsonPropertyName("parents")] + public IList ParentList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchUpdateParentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchUpdateParentResponse.cs new file mode 100644 index 00000000..11ee0f57 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserBatchUpdateParentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_update_parent 接口的响应。 + /// + public class CgibinSchoolUserBatchUpdateParentResponse : CgibinSchoolUserBatchCreateParentResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserCreateParentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserCreateParentRequest.cs new file mode 100644 index 00000000..5299df08 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserCreateParentRequest.cs @@ -0,0 +1,59 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/create_parent 接口的请求。 + /// + public class CgibinSchoolUserCreateParentRequest : WechatWorkRequest + { + public static class Types + { + public class Child + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string StudentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置家长与学生的关系。 + /// + [Newtonsoft.Json.JsonProperty("relation")] + [System.Text.Json.Serialization.JsonPropertyName("relation")] + public string Relation { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string ParentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置手机号码。 + /// + [Newtonsoft.Json.JsonProperty("mobile")] + [System.Text.Json.Serialization.JsonPropertyName("mobile")] + public string MobileNumber { get; set; } = string.Empty; + + /// + /// 获取或设置是否发起邀请。 + /// + [Newtonsoft.Json.JsonProperty("to_invite")] + [System.Text.Json.Serialization.JsonPropertyName("to_invite")] + public bool? RequireInvite { get; set; } + + /// + /// 获取或设置家长的孩子列表。 + /// + [Newtonsoft.Json.JsonProperty("children")] + [System.Text.Json.Serialization.JsonPropertyName("children")] + public IList Children { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserCreateParentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserCreateParentResponse.cs new file mode 100644 index 00000000..8627fdf4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserCreateParentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/create_parent 接口的响应。 + /// + public class CgibinSchoolUserCreateParentResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserDeleteParentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserDeleteParentRequest.cs new file mode 100644 index 00000000..c1f75bf9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserDeleteParentRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/delete_parent 接口的请求。 + /// + public class CgibinSchoolUserDeleteParentRequest : WechatWorkRequest + { + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string ParentUserId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserDeleteParentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserDeleteParentResponse.cs new file mode 100644 index 00000000..9035646a --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserDeleteParentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/delete_parent 接口的响应。 + /// + public class CgibinSchoolUserDeleteParentResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserUpdateParentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserUpdateParentRequest.cs new file mode 100644 index 00000000..5068a893 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserUpdateParentRequest.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/update_parent 接口的请求。 + /// + public class CgibinSchoolUserUpdateParentRequest : WechatWorkRequest + { + public static class Types + { + public class Child : CgibinSchoolUserCreateParentRequest.Types.Child + { + } + } + + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string ParentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置新的家长账号。 + /// + [Newtonsoft.Json.JsonProperty("new_parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("new_parent_userid")] + public string? NewParentUserId { get; set; } + + /// + /// 获取或设置手机号码。 + /// + [Newtonsoft.Json.JsonProperty("mobile")] + [System.Text.Json.Serialization.JsonPropertyName("mobile")] + public string? MobileNumber { get; set; } + + /// + /// 获取或设置家长的孩子列表。 + /// + [Newtonsoft.Json.JsonProperty("children")] + [System.Text.Json.Serialization.JsonPropertyName("children")] + public IList? Children { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserUpdateParentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserUpdateParentResponse.cs new file mode 100644 index 00000000..ea5eec49 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Parent/CgibinSchoolUserUpdateParentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/update_parent 接口的响应。 + /// + public class CgibinSchoolUserUpdateParentResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchCreateStudentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchCreateStudentRequest.cs new file mode 100644 index 00000000..84a2069f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchCreateStudentRequest.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_create_student 接口的请求。 + /// + public class CgibinSchoolUserBatchCreateStudentRequest : WechatWorkRequest + { + public static class Types + { + public class Student + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string StudentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置学生姓名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置学生所在的部门 ID(即班级)列表。 + /// + [Newtonsoft.Json.JsonProperty("department")] + [System.Text.Json.Serialization.JsonPropertyName("department")] + public IList DepartmentIdList { get; set; } = new List(); + } + } + + /// + /// 获取或设置学生列表。 + /// + [Newtonsoft.Json.JsonProperty("students")] + [System.Text.Json.Serialization.JsonPropertyName("students")] + public IList StudentList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchCreateStudentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchCreateStudentResponse.cs new file mode 100644 index 00000000..97f09046 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchCreateStudentResponse.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_create_student 接口的响应。 + /// + public class CgibinSchoolUserBatchCreateStudentResponse : WechatWorkResponse + { + public static class Types + { + public class Result + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string StudentUserId { get; set; } = default!; + + /// + /// 获取或设置错误码。 + /// + [Newtonsoft.Json.JsonProperty("errcode")] + [System.Text.Json.Serialization.JsonPropertyName("errcode")] + public int ErrorCode { get; set; } + + /// + /// 获取或设置错误描述。 + /// + [Newtonsoft.Json.JsonProperty("errmsg")] + [System.Text.Json.Serialization.JsonPropertyName("errmsg")] + public string ErrorMessage { get; set; } = default!; + } + } + + /// + /// 获取或设置结果列表。 + /// + [Newtonsoft.Json.JsonProperty("result_list")] + [System.Text.Json.Serialization.JsonPropertyName("result_list")] + public Types.Result[] ResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchDeleteStudentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchDeleteStudentRequest.cs new file mode 100644 index 00000000..febdac41 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchDeleteStudentRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_delete_student 接口的请求。 + /// + public class CgibinSchoolUserBatchDeleteStudentRequest : WechatWorkRequest + { + /// + /// 获取或设置学生账号列表。 + /// + [Newtonsoft.Json.JsonProperty("useridlist")] + [System.Text.Json.Serialization.JsonPropertyName("useridlist")] + public IList StudentUserIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchDeleteStudentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchDeleteStudentResponse.cs new file mode 100644 index 00000000..d064e8d4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchDeleteStudentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_delete_student 接口的响应。 + /// + public class CgibinSchoolUserBatchDeleteStudentResponse : CgibinSchoolUserBatchCreateStudentResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchUpdateStudentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchUpdateStudentRequest.cs new file mode 100644 index 00000000..788d3d58 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchUpdateStudentRequest.cs @@ -0,0 +1,52 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_update_student 接口的请求。 + /// + public class CgibinSchoolUserBatchUpdateStudentRequest : WechatWorkRequest + { + public static class Types + { + public class Student + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string StudentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置新的学生账号。 + /// + [Newtonsoft.Json.JsonProperty("new_student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("new_student_userid")] + public string? NewStudentUserId { get; set; } + + /// + /// 获取或设置学生姓名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// 获取或设置学生所在的部门 ID(即班级)列表。 + /// + [Newtonsoft.Json.JsonProperty("department")] + [System.Text.Json.Serialization.JsonPropertyName("department")] + public IList? DepartmentIdList { get; set; } + } + } + + /// + /// 获取或设置学生列表。 + /// + [Newtonsoft.Json.JsonProperty("students")] + [System.Text.Json.Serialization.JsonPropertyName("students")] + public IList StudentList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchUpdateStudentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchUpdateStudentResponse.cs new file mode 100644 index 00000000..3f69aee9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserBatchUpdateStudentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/batch_update_student 接口的响应。 + /// + public class CgibinSchoolUserBatchUpdateStudentResponse : CgibinSchoolUserBatchCreateStudentResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserCreateStudentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserCreateStudentRequest.cs new file mode 100644 index 00000000..4f2406db --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserCreateStudentRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/create_student 接口的请求。 + /// + public class CgibinSchoolUserCreateStudentRequest : WechatWorkRequest + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string StudentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置学生姓名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + + /// + /// 获取或设置学生所在的部门 ID(即班级)列表。 + /// + [Newtonsoft.Json.JsonProperty("department")] + [System.Text.Json.Serialization.JsonPropertyName("department")] + public IList DepartmentIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserCreateStudentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserCreateStudentResponse.cs new file mode 100644 index 00000000..fe038b0c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserCreateStudentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/create_student 接口的响应。 + /// + public class CgibinSchoolUserCreateStudentResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserDeleteStudentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserDeleteStudentRequest.cs new file mode 100644 index 00000000..88162460 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserDeleteStudentRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/delete_student 接口的请求。 + /// + public class CgibinSchoolUserDeleteStudentRequest : WechatWorkRequest + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonIgnore] + [System.Text.Json.Serialization.JsonIgnore] + public string StudentUserId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserDeleteStudentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserDeleteStudentResponse.cs new file mode 100644 index 00000000..2effdfbb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserDeleteStudentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/school/user/delete_student 接口的响应。 + /// + public class CgibinSchoolUserDeleteStudentResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserUpdateStudentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserUpdateStudentRequest.cs new file mode 100644 index 00000000..e25d25a9 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserUpdateStudentRequest.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/update_student 接口的请求。 + /// + public class CgibinSchoolUserUpdateStudentRequest : WechatWorkRequest + { + /// + /// 获取或设置学生账号。 + /// + [Newtonsoft.Json.JsonProperty("student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("student_userid")] + public string StudentUserId { get; set; } = string.Empty; + + /// + /// 获取或设置新的学生账号。 + /// + [Newtonsoft.Json.JsonProperty("new_student_userid")] + [System.Text.Json.Serialization.JsonPropertyName("new_student_userid")] + public string? NewStudentUserId { get; set; } + + /// + /// 获取或设置学生姓名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string? Name { get; set; } + + /// + /// 获取或设置学生所在的部门 ID(即班级)列表。 + /// + [Newtonsoft.Json.JsonProperty("department")] + [System.Text.Json.Serialization.JsonPropertyName("department")] + public IList? DepartmentIdList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserUpdateStudentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserUpdateStudentResponse.cs new file mode 100644 index 00000000..e52c1f30 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinSchool/User/Student/CgibinSchoolUserUpdateStudentResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/school/user/update_student 接口的响应。 + /// + public class CgibinSchoolUserUpdateStudentResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/CgibinServiceGetAdminListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/CgibinServiceGetAdminListResponse.cs index ae7dbde0..5e2f5154 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/CgibinServiceGetAdminListResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinService/CgibinServiceGetAdminListResponse.cs @@ -10,7 +10,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models { public static class Types { - public class Admin + public class Administrator { /// /// 获取或设置成员账号。 @@ -40,6 +40,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("admin")] [System.Text.Json.Serialization.JsonPropertyName("admin")] - public Types.Admin[]? AdminList { get; set; } + public Types.Administrator[]? AdministratorList { get; set; } } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserAuthSuccessRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserAuthSuccessRequest.cs index 7140c979..4d21d757 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserAuthSuccessRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserAuthSuccessRequest.cs @@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public class CgibinUserAuthSuccessRequest : WechatWorkRequest { /// - /// 获取或设置用户账号。 + /// 获取或设置成员账号。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserBatchDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserBatchDeleteRequest.cs index fa7b7a30..bc9d838a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserBatchDeleteRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserBatchDeleteRequest.cs @@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public class CgibinUserBatchDeleteRequest : WechatWorkRequest { /// - /// 获取或设置用户账号列表。 + /// 获取或设置成员账号列表。 /// [Newtonsoft.Json.JsonProperty("useridlist")] [System.Text.Json.Serialization.JsonPropertyName("useridlist")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserConvertToOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserConvertToOpenIdRequest.cs index ba17bef9..272750e8 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserConvertToOpenIdRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserConvertToOpenIdRequest.cs @@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public class CgibinUserConvertToOpenIdRequest : WechatWorkRequest { /// - /// 获取或设置用户账号。 + /// 获取或设置成员账号。 /// [Newtonsoft.Json.JsonProperty("userid")] [System.Text.Json.Serialization.JsonPropertyName("userid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserConvertToUserIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserConvertToUserIdResponse.cs index 177b8996..993f2bb6 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserConvertToUserIdResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserConvertToUserIdResponse.cs @@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public class CgibinUserConvertToUserIdResponse : WechatWorkResponse { /// - /// 获取或设置用户账号。 + /// 获取或设置成员账号。 /// [Newtonsoft.Json.JsonProperty("userid")] [System.Text.Json.Serialization.JsonPropertyName("userid")] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserDeleteRequest.cs index 76a65985..028e8fa0 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserDeleteRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserDeleteRequest.cs @@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public class CgibinUserDeleteRequest : WechatWorkRequest { /// - /// 获取或设置用户账号。 + /// 获取或设置成员账号。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserGetRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserGetRequest.cs index 1b987eb9..7bd15a99 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserGetRequest.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserGetRequest.cs @@ -9,7 +9,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models public class CgibinUserGetRequest : WechatWorkRequest { /// - /// 获取或设置用户账号。 + /// 获取或设置成员账号。 /// [Newtonsoft.Json.JsonIgnore] [System.Text.Json.Serialization.JsonIgnore] diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserGetUserInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserGetUserInfoResponse.cs index 3ca4541f..224b98ed 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserGetUserInfoResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinUser/CgibinUserGetUserInfoResponse.cs @@ -8,6 +8,26 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// public class CgibinUserGetUserInfoResponse : WechatWorkResponse { + public static class Types + { + public class Parent + { + /// + /// 获取或设置家长所在学校的 CorpId。 + /// + [Newtonsoft.Json.JsonProperty("corpid")] + [System.Text.Json.Serialization.JsonPropertyName("corpid")] + public string CorpId { get; set; } = default!; + + /// + /// 获取或设置家长账号。 + /// + [Newtonsoft.Json.JsonProperty("parent_userid")] + [System.Text.Json.Serialization.JsonPropertyName("parent_userid")] + public string ParentUserId { get; set; } = default!; + } + } + /// /// 获取或设置成员账号。 /// @@ -35,5 +55,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models [Newtonsoft.Json.JsonProperty("DeviceId")] [System.Text.Json.Serialization.JsonPropertyName("DeviceId")] public string? DeviceId { get; set; } + + /// + /// 获取或设置家长列表。 + /// + [Newtonsoft.Json.JsonProperty("parents")] + [System.Text.Json.Serialization.JsonPropertyName("parents")] + public Types.Parent[]? ParentList { get; set; } } }