1
wtt
2024-08-16 e03677790c63aba9379b84c976d172c3dcd0127a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
using System;
using System.Collections.Generic;
using Top.Api.Util;
using Top.Api;
using Top.Api.DingTalk;
 
namespace DingTalk.Api.Request
{
    /// <summary>
    /// TOP API: dingtalk.oapi.department.create
    /// </summary>
    public class OapiDepartmentCreateRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiDepartmentCreateResponse>
    {
        /// <summary>
        /// 是否创建一个关联此部门的企业群,默认为false
        /// </summary>
        public Nullable<bool> CreateDeptGroup { get; set; }
 
        /// <summary>
        /// 是否隐藏部门, true表示隐藏, false表示显示
        /// </summary>
        public Nullable<bool> DeptHiding { get; set; }
 
        /// <summary>
        /// 已废弃
        /// </summary>
        public string DeptPerimits { get; set; }
 
        /// <summary>
        /// 可以查看指定隐藏部门的其他部门列表,如果部门隐藏,则此值生效,取值为其他的部门id组成的的字符串,使用 | 符号进行分割。总数不能超过200。
        /// </summary>
        public string DeptPermits { get; set; }
 
        /// <summary>
        /// 自定义部门id, 必须大于1且小于9223372036854775807
        /// </summary>
        public string Id { get; set; }
 
        /// <summary>
        /// 部门名称。长度限制为1~64个字符。不允许包含字符‘-’‘,’以及‘,’
        /// </summary>
        public string Name { get; set; }
 
        /// <summary>
        /// 在父部门中的次序值。order值小的排序靠前
        /// </summary>
        public string Order { get; set; }
 
        /// <summary>
        /// 是否本部门的员工仅可见员工自己, 为true时,本部门员工默认只能看到员工自己
        /// </summary>
        public Nullable<bool> OuterDept { get; set; }
 
        /// <summary>
        /// 是否只能看到所在部门及下级部门通讯录
        /// </summary>
        public Nullable<bool> OuterDeptOnlySelf { get; set; }
 
        /// <summary>
        /// 本部门的员工仅可见员工自己为true时,可以配置额外可见部门,值为部门id组成的的字符串,使用|符号进行分割。总数不能超过200。
        /// </summary>
        public string OuterPermitDepts { get; set; }
 
        /// <summary>
        /// 本部门的员工仅可见员工自己为true时,可以配置额外可见人员,值为userid组成的的字符串,使用|符号进行分割。总数不能超过200。
        /// </summary>
        public string OuterPermitUsers { get; set; }
 
        /// <summary>
        /// 是否优先使用父部门的预算
        /// </summary>
        public Nullable<bool> ParentBalanceFirst { get; set; }
 
        /// <summary>
        /// 父部门id。根部门id为1
        /// </summary>
        public string Parentid { get; set; }
 
        /// <summary>
        /// 是否共享预算
        /// </summary>
        public Nullable<bool> ShareBalance { get; set; }
 
        /// <summary>
        /// 部门标识字段,开发者可用该字段来唯一标识一个部门,并与钉钉外部通讯录里的部门做映射
        /// </summary>
        public string SourceIdentifier { get; set; }
 
        /// <summary>
        /// 已废弃
        /// </summary>
        public string UserPerimits { get; set; }
 
        /// <summary>
        /// 可以查看指定隐藏部门的其他人员列表,如果部门隐藏,则此值生效,取值为其他的人员userid组成的的字符串,使用| 符号进行分割。总数不能超过200。
        /// </summary>
        public string UserPermits { get; set; }
 
        #region IDingTalkRequest Members
 
        public override string GetApiName()
        {
            return "dingtalk.oapi.department.create";
        }
 
        public override string GetApiCallType()
        {
            return DingTalkConstants.CALL_TYPE_OAPI;
        }
 
        public override IDictionary<string, string> GetParameters()
        {
            TopDictionary parameters = new TopDictionary();
            parameters.Add("createDeptGroup", this.CreateDeptGroup);
            parameters.Add("deptHiding", this.DeptHiding);
            parameters.Add("deptPerimits", this.DeptPerimits);
            parameters.Add("deptPermits", this.DeptPermits);
            parameters.Add("id", this.Id);
            parameters.Add("name", this.Name);
            parameters.Add("order", this.Order);
            parameters.Add("outerDept", this.OuterDept);
            parameters.Add("outerDeptOnlySelf", this.OuterDeptOnlySelf);
            parameters.Add("outerPermitDepts", this.OuterPermitDepts);
            parameters.Add("outerPermitUsers", this.OuterPermitUsers);
            parameters.Add("parentBalanceFirst", this.ParentBalanceFirst);
            parameters.Add("parentid", this.Parentid);
            parameters.Add("shareBalance", this.ShareBalance);
            parameters.Add("sourceIdentifier", this.SourceIdentifier);
            parameters.Add("userPerimits", this.UserPerimits);
            parameters.Add("userPermits", this.UserPermits);
            if (this.otherParams != null)
            {
                parameters.AddAll(this.otherParams);
            }
            return parameters;
        }
 
        public override void Validate()
        {
        }
 
        #endregion
    }
}