diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinCorpGroupExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinCorpGroupExtensions.cs
index 5b254e9b..e2f4fcb8 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinCorpGroupExtensions.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinCorpGroupExtensions.cs
@@ -94,7 +94,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
}
///
- /// 异步调用 [GET] /cgi-bin/corpgroup/corp/get_chain_corpinfo_list 接口。
+ /// 异步调用 [POST] /cgi-bin/corpgroup/corp/get_chain_corpinfo_list 接口。
/// REF: https://developer.work.weixin.qq.com/document/path/95315
///
///
@@ -107,15 +107,8 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
if (request is null) throw new ArgumentNullException(nameof(request));
IFlurlRequest flurlReq = client
- .CreateRequest(request, HttpMethod.Get, "cgi-bin", "corpgroup", "corp", "get_chain_corpinfo_list")
- .SetQueryParam("access_token", request.AccessToken)
- .SetQueryParam("chain_id", request.ChainId);
-
- if (request.GroupId != null)
- flurlReq.SetQueryParam("groupid", request.GroupId.Value);
-
- if (request.RequireFetchChild != null)
- flurlReq.SetQueryParam("fetch_child", request.RequireFetchChild.Value ? 1 : 0);
+ .CreateRequest(request, HttpMethod.Post, "cgi-bin", "corpgroup", "corp", "get_chain_corpinfo_list")
+ .SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
@@ -139,5 +132,107 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
}
+
+ #region Rule
+ ///
+ /// 异步调用 [POST] /cgi-bin/corpgroup/rule/list_ids 接口。
+ /// REF: https://developer.work.weixin.qq.com/document/path/95631
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCgibinCorpGroupRuleListIdsAsync(this WechatWorkClient client, Models.CgibinCorpGroupRuleListIdsRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "cgi-bin", "corpgroup", "rule", "list_ids")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /cgi-bin/corpgroup/rule/delete_rule 接口。
+ /// REF: https://developer.work.weixin.qq.com/document/path/95632
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCgibinCorpGroupRuleDeleteRuleAsync(this WechatWorkClient client, Models.CgibinCorpGroupRuleDeleteRuleRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "cgi-bin", "corpgroup", "rule", "delete_rule")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /cgi-bin/corpgroup/rule/get_rule_info 接口。
+ /// REF: https://developer.work.weixin.qq.com/document/path/95634
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCgibinCorpGroupRuleGetRuleInfoAsync(this WechatWorkClient client, Models.CgibinCorpGroupRuleGetRuleInfoRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "cgi-bin", "corpgroup", "rule", "get_rule_info")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /cgi-bin/corpgroup/rule/add_rule 接口。
+ /// REF: https://developer.work.weixin.qq.com/document/path/95634
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCgibinCorpGroupRuleAddRuleAsync(this WechatWorkClient client, Models.CgibinCorpGroupRuleAddRuleRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "cgi-bin", "corpgroup", "rule", "add_rule")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+
+ ///
+ /// 异步调用 [POST] /cgi-bin/corpgroup/rule/modify_rule 接口。
+ /// REF: https://developer.work.weixin.qq.com/document/path/95635
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static async Task ExecuteCgibinCorpGroupRuleModifyRuleAsync(this WechatWorkClient client, Models.CgibinCorpGroupRuleModifyRuleRequest request, CancellationToken cancellationToken = default)
+ {
+ if (client is null) throw new ArgumentNullException(nameof(client));
+ if (request is null) throw new ArgumentNullException(nameof(request));
+
+ IFlurlRequest flurlReq = client
+ .CreateRequest(request, HttpMethod.Post, "cgi-bin", "corpgroup", "rule", "modify_rule")
+ .SetQueryParam("access_token", request.AccessToken);
+
+ return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken);
+ }
+ #endregion
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListRequest.cs
index f057da3f..ac1bd8b8 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListRequest.cs
@@ -1,29 +1,31 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
///
- /// 表示 [GET] /cgi-bin/corpgroup/corp/get_chain_corpinfo_list 接口的请求。
+ /// 表示 [POST] /cgi-bin/corpgroup/corp/get_chain_corpinfo_list 接口的请求。
///
public class CgibinCorpGroupCropGetChainCorpInfoListRequest : WechatWorkRequest
{
///
/// 获取或设置上下游 ID。
///
- [Newtonsoft.Json.JsonIgnore]
- [System.Text.Json.Serialization.JsonIgnore]
+ [Newtonsoft.Json.JsonProperty("chain_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("chain_id")]
public string ChainId { get; set; } = string.Empty;
///
/// 获取或设置分组 ID。
///
- [Newtonsoft.Json.JsonIgnore]
- [System.Text.Json.Serialization.JsonIgnore]
+ [Newtonsoft.Json.JsonProperty("groupid")]
+ [System.Text.Json.Serialization.JsonPropertyName("groupid")]
public int? GroupId { get; set; }
///
/// 获取或设置是否递归获取子分组企业。
///
- [Newtonsoft.Json.JsonIgnore]
- [System.Text.Json.Serialization.JsonIgnore]
+ [Newtonsoft.Json.JsonProperty("fetch_child")]
+ [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
+ [System.Text.Json.Serialization.JsonPropertyName("fetch_child")]
+ [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? RequireFetchChild { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListResponse.cs
index a98967b2..ef8c4321 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListResponse.cs
@@ -1,7 +1,7 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
///
- /// 表示 [GET] /cgi-bin/corpgroup/corp/get_chain_corpinfo_list 接口的响应。
+ /// 表示 [POST] /cgi-bin/corpgroup/corp/get_chain_corpinfo_list 接口的响应。
///
public class CgibinCorpGroupCropGetChainCorpInfoListResponse : WechatWorkResponse
{
@@ -36,6 +36,13 @@
[Newtonsoft.Json.JsonProperty("custom_id")]
[System.Text.Json.Serialization.JsonPropertyName("custom_id")]
public string? CustomId { get; set; }
+
+ ///
+ /// 获取或设置该上下游的邀请人的 UserId。
+ ///
+ [Newtonsoft.Json.JsonProperty("invite_userid")]
+ [System.Text.Json.Serialization.JsonPropertyName("invite_userid")]
+ public string? InviteUserId { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleRequest.cs
new file mode 100644
index 00000000..b1c8f9d7
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleRequest.cs
@@ -0,0 +1,81 @@
+using System.Collections.Generic;
+
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/add_rule 接口的请求。
+ ///
+ public class CgibinCorpGroupRuleAddRuleRequest : WechatWorkRequest
+ {
+ public static class Types
+ {
+ public class Rule
+ {
+ public static class Types
+ {
+ public class OwnerCorpRange
+ {
+ ///
+ /// 获取或设置 UserId 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("userids")]
+ [System.Text.Json.Serialization.JsonPropertyName("userids")]
+ public IList? UserIdList { get; set; }
+
+ ///
+ /// 获取或设置部门 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("departmentids")]
+ [System.Text.Json.Serialization.JsonPropertyName("departmentids")]
+ public IList? DepartmentIdList { get; set; }
+ }
+
+ public class MemberCorpRange
+ {
+ ///
+ /// 获取或设置分组 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("groupids")]
+ [System.Text.Json.Serialization.JsonPropertyName("groupids")]
+ public IList? GroupIdList { get; set; } = default!;
+
+ ///
+ /// 获取或设置企业 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("corpids")]
+ [System.Text.Json.Serialization.JsonPropertyName("corpids")]
+ public IList? CorpIdList { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置上游企业的对接人规则信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("owner_corp_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("owner_corp_range")]
+ public Types.OwnerCorpRange OwnerCorpRange { get; set; } = default!;
+
+ ///
+ /// 获取或设置下游企业规则范围信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("member_corp_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("member_corp_range")]
+ public Types.MemberCorpRange MemberCorpRange { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置上下游 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("chain_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("chain_id")]
+ public string ChainId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置上下游关系规则信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("rule_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("rule_info")]
+ public Types.Rule Rule { get; set; } = new Types.Rule();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleResponse.cs
new file mode 100644
index 00000000..bb991df2
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleResponse.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/add_rule 接口的响应。
+ ///
+ public class CgibinCorpGroupRuleAddRuleResponse : WechatWorkResponse
+ {
+ ///
+ /// 获取或设置上下游关系规则 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("rule_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("rule_id")]
+ public int RuleId { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleRequest.cs
new file mode 100644
index 00000000..d96132c5
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/delete_rule 接口的请求。
+ ///
+ public class CgibinCorpGroupRuleDeleteRuleRequest : WechatWorkRequest
+ {
+ ///
+ /// 获取或设置上下游 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("chain_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("chain_id")]
+ public string ChainId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置上下游关系规则 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("rule_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("rule_id")]
+ public int RuleId { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleResponse.cs
new file mode 100644
index 00000000..3ecc6c5c
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/delete_rule 接口的响应。
+ ///
+ public class CgibinCorpGroupRuleDeleteRuleResponse : WechatWorkResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoRequest.cs
new file mode 100644
index 00000000..741390df
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoRequest.cs
@@ -0,0 +1,22 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/get_rule_info 接口的请求。
+ ///
+ public class CgibinCorpGroupRuleGetRuleInfoRequest : WechatWorkRequest
+ {
+ ///
+ /// 获取或设置上下游 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("chain_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("chain_id")]
+ public string ChainId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置上下游关系规则 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("rule_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("rule_id")]
+ public int RuleId { get; set; }
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoResponse.cs
new file mode 100644
index 00000000..3e50a199
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoResponse.cs
@@ -0,0 +1,72 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/get_rule_info 接口的响应。
+ ///
+ public class CgibinCorpGroupRuleGetRuleInfoResponse : WechatWorkResponse
+ {
+ public static class Types
+ {
+ public class Rule
+ {
+ public static class Types
+ {
+ public class OwnerCorpRange
+ {
+ ///
+ /// 获取或设置 UserId 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("userids")]
+ [System.Text.Json.Serialization.JsonPropertyName("userids")]
+ public string[]? UserIdList { get; set; }
+
+ ///
+ /// 获取或设置部门 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("departmentids")]
+ [System.Text.Json.Serialization.JsonPropertyName("departmentids")]
+ public long[]? DepartmentIdList { get; set; }
+ }
+
+ public class MemberCorpRange
+ {
+ ///
+ /// 获取或设置分组 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("groupids")]
+ [System.Text.Json.Serialization.JsonPropertyName("groupids")]
+ public int[]? GroupIdList { get; set; }
+
+ ///
+ /// 获取或设置企业 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("corpids")]
+ [System.Text.Json.Serialization.JsonPropertyName("corpids")]
+ public string[]? CorpIdList { get; set; }
+ }
+ }
+
+ ///
+ /// 获取或设置上游企业的对接人规则信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("owner_corp_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("owner_corp_range")]
+ public Types.OwnerCorpRange OwnerCorpRange { get; set; } = default!;
+
+ ///
+ /// 获取或设置下游企业规则范围信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("member_corp_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("member_corp_range")]
+ public Types.MemberCorpRange MemberCorpRange { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置上下游关系规则信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("rule_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("rule_info")]
+ public Types.Rule Rule { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsRequest.cs
new file mode 100644
index 00000000..6687198e
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsRequest.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/list_ids 接口的请求。
+ ///
+ public class CgibinCorpGroupRuleListIdsRequest : WechatWorkRequest
+ {
+ ///
+ /// 获取或设置上下游 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("chain_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("chain_id")]
+ public string ChainId { get; set; } = string.Empty;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsResponse.cs
new file mode 100644
index 00000000..ee136436
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsResponse.cs
@@ -0,0 +1,15 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/list_ids 接口的响应。
+ ///
+ public class CgibinCorpGroupRuleListIdsResponse : WechatWorkResponse
+ {
+ ///
+ /// 获取或设置上下游关系规则的 ID 列表。
+ ///
+ [Newtonsoft.Json.JsonProperty("rule_ids")]
+ [System.Text.Json.Serialization.JsonPropertyName("rule_ids")]
+ public int[] RuleIdList { get; set; } = default!;
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleRequest.cs
new file mode 100644
index 00000000..d189ed37
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleRequest.cs
@@ -0,0 +1,60 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/modify_rule 接口的请求。
+ ///
+ public class CgibinCorpGroupRuleModifyRuleRequest : WechatWorkRequest
+ {
+ public static class Types
+ {
+ public class Rule
+ {
+ public static class Types
+ {
+ public class OwnerCorpRange : CgibinCorpGroupRuleAddRuleRequest.Types.Rule.Types.OwnerCorpRange
+ {
+ }
+
+ public class MemberCorpRange : CgibinCorpGroupRuleAddRuleRequest.Types.Rule.Types.MemberCorpRange
+ {
+ }
+ }
+
+ ///
+ /// 获取或设置上游企业的对接人规则信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("owner_corp_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("owner_corp_range")]
+ public Types.OwnerCorpRange OwnerCorpRange { get; set; } = default!;
+
+ ///
+ /// 获取或设置下游企业规则范围信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("member_corp_range")]
+ [System.Text.Json.Serialization.JsonPropertyName("member_corp_range")]
+ public Types.MemberCorpRange MemberCorpRange { get; set; } = default!;
+ }
+ }
+
+ ///
+ /// 获取或设置上下游 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("chain_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("chain_id")]
+ public string ChainId { get; set; } = string.Empty;
+
+ ///
+ /// 获取或设置上下游关系规则 ID。
+ ///
+ [Newtonsoft.Json.JsonProperty("rule_id")]
+ [System.Text.Json.Serialization.JsonPropertyName("rule_id")]
+ public int RuleId { get; set; }
+
+ ///
+ /// 获取或设置上下游关系规则信息。
+ ///
+ [Newtonsoft.Json.JsonProperty("rule_info")]
+ [System.Text.Json.Serialization.JsonPropertyName("rule_info")]
+ public Types.Rule Rule { get; set; } = new Types.Rule();
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleResponse.cs
new file mode 100644
index 00000000..2eb17628
--- /dev/null
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleResponse.cs
@@ -0,0 +1,9 @@
+namespace SKIT.FlurlHttpClient.Wechat.Work.Models
+{
+ ///
+ /// 表示 [POST] /cgi-bin/corpgroup/rule/modify_rule 接口的响应。
+ ///
+ public class CgibinCorpGroupRuleModifyRuleResponse : WechatWorkResponse
+ {
+ }
+}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddRequest.cs
index 94532721..cf48763a 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerAddRequest.cs
@@ -26,6 +26,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
///
[Newtonsoft.Json.JsonProperty("department_id_list")]
[System.Text.Json.Serialization.JsonPropertyName("department_id_list")]
- public IList? DepartmentIdList { get; set; }
+ public IList? DepartmentIdList { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.cs
index 94aec1b7..b0d16f3d 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerDeleteRequest.cs
@@ -26,6 +26,6 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
///
[Newtonsoft.Json.JsonProperty("department_id_list")]
[System.Text.Json.Serialization.JsonPropertyName("department_id_list")]
- public IList? DepartmentIdList { get; set; }
+ public IList? DepartmentIdList { get; set; }
}
}
diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListResponse.cs
index 7fc52160..abc87f4d 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListResponse.cs
+++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/Servicer/CgibinKfServicerListResponse.cs
@@ -28,7 +28,7 @@
///
[Newtonsoft.Json.JsonProperty("department_id")]
[System.Text.Json.Serialization.JsonPropertyName("department_id")]
- public int? DepartmentId { get; set; }
+ public long? DepartmentId { get; set; }
}
}
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListRequest.json
new file mode 100644
index 00000000..923de20b
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListRequest.json
@@ -0,0 +1,5 @@
+{
+ "chain_id": "Chxxxxxx",
+ "groupid": 1,
+ "fetch_child": 0
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListResponse.json
index fbe6bebc..d6ee4742 100644
--- a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListResponse.json
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/CgibinCorpGroupCropGetChainCorpInfoListResponse.json
@@ -6,7 +6,8 @@
"groupid": 2,
"corpid": "wwxxxx",
"corp_name": "美馨粮油公司",
- "custom_id": "wof3du51quo5sl1is"
+ "custom_id": "custom_id",
+ "invite_userid": "zhangsan"
}
]
}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleRequest.json
new file mode 100644
index 00000000..129e8869
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleRequest.json
@@ -0,0 +1,13 @@
+{
+ "chain_id": "Chxxxxxx",
+ "rule_info": {
+ "owner_corp_range": {
+ "departmentids": [ 123 ],
+ "userids": [ "userid1", "userid2" ]
+ },
+ "member_corp_range": {
+ "groupids": [ 123 ],
+ "corpids": [ "corpid1", "corpid2" ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleResponse.json
new file mode 100644
index 00000000..9099e700
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleAddRuleResponse.json
@@ -0,0 +1,5 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "rule_id": 1
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleRequest.json
new file mode 100644
index 00000000..af130043
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleDeleteRuleRequest.json
@@ -0,0 +1,4 @@
+{
+ "chain_id": "Chxxxxxx",
+ "rule_id": 1
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoRequest.json
new file mode 100644
index 00000000..af130043
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoRequest.json
@@ -0,0 +1,4 @@
+{
+ "chain_id": "Chxxxxxx",
+ "rule_id": 1
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoResponse.json
new file mode 100644
index 00000000..b82371f5
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleGetRuleInfoResponse.json
@@ -0,0 +1,14 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "rule_info": {
+ "owner_corp_range": {
+ "departmentids": [ 123 ],
+ "userids": [ "userid1", "userid2" ]
+ },
+ "member_corp_range": {
+ "groupids": [ 123 ],
+ "corpids": [ "corpid1", "corpid2" ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsRequest.json
new file mode 100644
index 00000000..27f6648a
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsRequest.json
@@ -0,0 +1,3 @@
+{
+ "chain_id": "Chxxxxxx"
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsResponse.json
new file mode 100644
index 00000000..75d0270d
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleListIdsResponse.json
@@ -0,0 +1,5 @@
+{
+ "errcode": 0,
+ "errmsg": "ok",
+ "rule_ids": [ 1, 2 ]
+}
\ No newline at end of file
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleRequest.json
new file mode 100644
index 00000000..574ad8f4
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinCorpGroup/Rule/CgibinCorpGroupRuleModifyRuleRequest.json
@@ -0,0 +1,14 @@
+{
+ "chain_id": "Chxxxxxx",
+ "rule_id": 1,
+ "rule_info": {
+ "owner_corp_range": {
+ "departmentids": [ 123 ],
+ "userids": [ "userid1", "userid2" ]
+ },
+ "member_corp_range": {
+ "groupids": [ 123 ],
+ "corpids": [ "corpid1", "corpid2" ]
+ }
+ }
+}
\ No newline at end of file