1
zrg
2024-10-15 a1e3e548ea03ceb32d07bf9f73f4719dd14f7f2e
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.user.create
    /// </summary>
    public class OapiUserCreateRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiUserCreateResponse>
    {
        /// <summary>
        /// 数组类型,数组里面值为整型,成员所属部门id列表
        /// </summary>
        public string Department { get; set; }
 
        /// <summary>
        /// 邮箱。长度为0~64个字符。企业内必须唯一,不可重复
        /// </summary>
        public string Email { get; set; }
 
        /// <summary>
        /// 扩展属性,可以设置多种属性(但手机上最多只能显示10个扩展属性,具体显示哪些属性,请到OA管理后台->设置->通讯录信息设置和OA管理后台->设置->手机端显示信息设置)
        /// </summary>
        public string Extattr { get; set; }
 
        /// <summary>
        /// 入职时间
        /// </summary>
        public Nullable<long> HiredDate { get; set; }
 
        /// <summary>
        /// 是否号码隐藏, true表示隐藏, false表示不隐藏。隐藏手机号后,手机号在个人资料页隐藏,但仍可对其发DING、发起钉钉免费商务电话。
        /// </summary>
        public Nullable<bool> IsHide { get; set; }
 
        /// <summary>
        /// 是否高管模式,true表示是,false表示不是。开启后,手机号码对所有员工隐藏。普通员工无法对其发DING、发起钉钉免费商务电话。高管之间不受影响。
        /// </summary>
        public Nullable<bool> IsSenior { get; set; }
 
        /// <summary>
        /// 员工工号。对应显示到OA后台和客户端个人资料的工号栏目。长度为0~64个字符
        /// </summary>
        public string Jobnumber { get; set; }
 
        /// <summary>
        /// 手机号码,企业内必须唯一,不可重复
        /// </summary>
        public string Mobile { get; set; }
 
        /// <summary>
        /// 成员名称。长度为1~64个字符
        /// </summary>
        public string Name { get; set; }
 
        /// <summary>
        /// 在对应的部门中的排序, Map结构的json字符串, key是部门的Id, value是人员在这个部门的排序值
        /// </summary>
        public string OrderInDepts { get; set; }
 
        /// <summary>
        /// 员工的企业邮箱,员工的企业邮箱已开通,才能增加此字段, 否则会报错
        /// </summary>
        public string OrgEmail { get; set; }
 
        /// <summary>
        /// 职位信息。长度为0~64个字符
        /// </summary>
        public string Position { get; set; }
 
        /// <summary>
        /// 在对应的部门中的职位信息, Map结构的json字符串, key是部门的Id, value是人员在这个部门的职位
        /// </summary>
        public string PositionInDepts { get; set; }
 
        /// <summary>
        /// 备注,长度为0~1000个字符
        /// </summary>
        public string Remark { get; set; }
 
        /// <summary>
        /// 分机号,长度为0~50个字符,企业内必须唯一,不可重复
        /// </summary>
        public string Tel { get; set; }
 
        /// <summary>
        /// 员工唯一标识ID(不可修改),企业内必须唯一。长度为1~64个字符,如果不传,服务器将自动生成一个userid
        /// </summary>
        public string Userid { get; set; }
 
        /// <summary>
        /// 办公地点,长度为0~50个字符
        /// </summary>
        public string WorkPlace { get; set; }
 
        #region IDingTalkRequest Members
 
        public override string GetApiName()
        {
            return "dingtalk.oapi.user.create";
        }
 
        public override string GetApiCallType()
        {
            return DingTalkConstants.CALL_TYPE_OAPI;
        }
 
        public override IDictionary<string, string> GetParameters()
        {
            TopDictionary parameters = new TopDictionary();
            parameters.Add("department", this.Department);
            parameters.Add("email", this.Email);
            parameters.Add("extattr", this.Extattr);
            parameters.Add("hiredDate", this.HiredDate);
            parameters.Add("isHide", this.IsHide);
            parameters.Add("isSenior", this.IsSenior);
            parameters.Add("jobnumber", this.Jobnumber);
            parameters.Add("mobile", this.Mobile);
            parameters.Add("name", this.Name);
            parameters.Add("orderInDepts", this.OrderInDepts);
            parameters.Add("orgEmail", this.OrgEmail);
            parameters.Add("position", this.Position);
            parameters.Add("positionInDepts", this.PositionInDepts);
            parameters.Add("remark", this.Remark);
            parameters.Add("tel", this.Tel);
            parameters.Add("userid", this.Userid);
            parameters.Add("workPlace", this.WorkPlace);
            if (this.otherParams != null)
            {
                parameters.AddAll(this.otherParams);
            }
            return parameters;
        }
 
        public override void Validate()
        {
        }
 
        #endregion
    }
}