UserDetailResponse.cs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. // Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
  2. //
  3. // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
  4. //
  5. // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
  6. using Admin.NET.Plugin.DingTalk.RequestProxy.BaseTypes;
  7. using System.Text.Json.Serialization;
  8. namespace Admin.NET.Plugin.DingTalk.RequestProxy.User.DTO;
  9. /// <summary>
  10. /// 查询用户详情
  11. /// </summary>
  12. public class UserDetailResponse : DingtalkResponseErrorResultRequestId<UserDetailResponseResultDomain>
  13. {
  14. }
  15. public class UserDetailResponseResultDomain
  16. {
  17. /// <summary>
  18. /// 员工的userId
  19. /// </summary>
  20. [JsonProperty("userid")]
  21. [JsonPropertyName("userid")]
  22. public string UserId { get; set; }
  23. /// <summary>
  24. /// 员工在当前开发者企业账号范围内的唯一标识
  25. /// </summary>
  26. [JsonProperty("unionid")]
  27. [JsonPropertyName("unionid")]
  28. public string Unionid { get; set; }
  29. /// <summary>
  30. /// 员工姓名
  31. /// </summary>
  32. [JsonProperty("name")]
  33. [JsonPropertyName("name")]
  34. public string Name { get; set; }
  35. /// <summary>
  36. /// 头像
  37. /// </summary>
  38. [JsonProperty("avatar")]
  39. [JsonPropertyName("avatar")]
  40. public string Avatar { get; set; }
  41. /// <summary>
  42. /// 国际电话区号
  43. /// </summary>
  44. [JsonProperty("state_code")]
  45. [JsonPropertyName("state_code")]
  46. public string StateCode { get; set; }
  47. /// <summary>
  48. /// 员工的直属主管
  49. /// </summary>
  50. [JsonProperty("manager_userid")]
  51. [JsonPropertyName("manager_userid")]
  52. public string ManagerUserId { get; set; }
  53. /// <summary>
  54. /// 手机号码
  55. /// </summary>
  56. [JsonProperty("mobile")]
  57. [JsonPropertyName("mobile")]
  58. public string Mobile { get; set; }
  59. /// <summary>
  60. /// 是否号码隐藏
  61. /// </summary>
  62. [JsonProperty("hide_mobile")]
  63. [JsonPropertyName("hide_mobile")]
  64. public bool HideMobile { get; set; }
  65. /// <summary>
  66. /// 分机号
  67. /// </summary>
  68. [JsonProperty("telephone")]
  69. [JsonPropertyName("telephone")]
  70. public string Telephone { get; set; }
  71. /// <summary>
  72. /// 员工工号
  73. /// </summary>
  74. [JsonProperty("job_number")]
  75. [JsonPropertyName("job_number")]
  76. public string JobNumber { get; set; }
  77. /// <summary>
  78. /// 职位
  79. /// </summary>
  80. [JsonProperty("title")]
  81. [JsonPropertyName("title")]
  82. public string Title { get; set; }
  83. /// <summary>
  84. /// 员工邮箱
  85. /// </summary>
  86. [JsonProperty("email")]
  87. [JsonPropertyName("email")]
  88. public string Email { get; set; }
  89. /// <summary>
  90. /// 办公地点
  91. /// </summary>
  92. [JsonProperty("work_place")]
  93. [JsonPropertyName("work_place")]
  94. public string WorkPlace { get; set; }
  95. /// <summary>
  96. /// 备注
  97. /// </summary>
  98. [JsonProperty("remark")]
  99. [JsonPropertyName("remark")]
  100. public string Remark { get; set; }
  101. /// <summary>
  102. /// 是否为企业账号
  103. /// </summary>
  104. [JsonProperty("exclusive_account")]
  105. [JsonPropertyName("exclusive_account")]
  106. public bool ExclusiveAccount { get; set; }
  107. /// <summary>
  108. /// 员工的企业邮箱。如果员工的企业邮箱没有开通,返回信息中不包含该数据
  109. /// </summary>
  110. [JsonProperty("org_email")]
  111. [JsonPropertyName("org_email")]
  112. public string OrgEmail { get; set; }
  113. /// <summary>
  114. /// 所属部门id列表
  115. /// </summary>
  116. [JsonProperty("dept_id_list")]
  117. [JsonPropertyName("dept_id_list")]
  118. public List<long> DeptIdList { get; set; }
  119. /// <summary>
  120. /// 员工在对应的部门中的排序
  121. /// </summary>
  122. [JsonProperty("dept_order_list")]
  123. [JsonPropertyName("dept_order_list")]
  124. public List<DeptOrderDomain> DeptOrderList { get; set; }
  125. /// <summary>
  126. /// 扩展属性,最大长度2000个字符
  127. /// </summary>
  128. [JsonProperty("extension")]
  129. [JsonPropertyName("extension")]
  130. public string Extension { get; set; }
  131. /// <summary>
  132. /// 入职时间,Unix时间戳,单位毫秒
  133. /// </summary>
  134. [JsonProperty("hired_date")]
  135. [JsonPropertyName("hired_date")]
  136. public long HiredDate { get; set; }
  137. /// <summary>
  138. /// 是否激活了钉钉
  139. /// </summary>
  140. [JsonProperty("active")]
  141. [JsonPropertyName("active")]
  142. public bool Active { get; set; }
  143. /// <summary>
  144. /// 是否完成了实名认证
  145. /// </summary>
  146. [JsonProperty("real_authed")]
  147. [JsonPropertyName("real_authed")]
  148. public bool RealAuthed { get; set; }
  149. /// <summary>
  150. /// 是否为企业的高管
  151. /// </summary>
  152. [JsonProperty("senior")]
  153. [JsonPropertyName("senior")]
  154. public bool Senior { get; set; }
  155. /// <summary>
  156. /// 是否为企业的管理员
  157. /// </summary>
  158. [JsonProperty("admin")]
  159. [JsonPropertyName("admin")]
  160. public bool Admin { get; set; }
  161. /// <summary>
  162. /// 是否为企业的老板
  163. /// </summary>
  164. [JsonProperty("boss")]
  165. [JsonPropertyName("boss")]
  166. public bool Boss { get; set; }
  167. /// <summary>
  168. /// 员工所在部门信息及是否是领导
  169. /// </summary>
  170. [JsonProperty("leader_in_dept")]
  171. [JsonPropertyName("leader_in_dept")]
  172. public List<DeptLeaderDomain> LeaderInDept { get; set; }
  173. /// <summary>
  174. /// 角色列表
  175. /// </summary>
  176. [JsonProperty("role_list")]
  177. [JsonPropertyName("role_list")]
  178. public List<UserRoleDomain> RoleList { get; set; }
  179. /// <summary>
  180. /// 当用户来自于关联组织时的关联信息
  181. /// </summary>
  182. [JsonProperty("union_emp_ext")]
  183. [JsonPropertyName("union_emp_ext")]
  184. public UnionEmpExtDomain UnionEmpExt { get; set; }
  185. }
  186. public class DeptOrderDomain
  187. {
  188. /// <summary>
  189. /// 部门id
  190. /// </summary>
  191. [JsonProperty("dept_id")]
  192. [JsonPropertyName("dept_id")]
  193. public long DeptId { get; set; }
  194. /// <summary>
  195. /// 员工在部门中的排序
  196. /// </summary>
  197. [JsonProperty("order")]
  198. [JsonPropertyName("order")]
  199. public long Order { get; set; }
  200. }
  201. public class DeptLeaderDomain
  202. {
  203. /// <summary>
  204. /// 部门ID
  205. /// </summary>
  206. [JsonProperty("dept_id")]
  207. [JsonPropertyName("dept_id")]
  208. public long DeptId { get; set; }
  209. /// <summary>
  210. /// 是否是领导
  211. /// </summary>
  212. [JsonProperty("leader")]
  213. [JsonPropertyName("leader")]
  214. public bool Leader { get; set; }
  215. }
  216. public class UserRoleDomain
  217. {
  218. /// <summary>
  219. /// 角色ID
  220. /// </summary>
  221. [JsonProperty("id")]
  222. [JsonPropertyName("id")]
  223. public long Id { get; set; }
  224. /// <summary>
  225. /// 角色名称
  226. /// </summary>
  227. [JsonProperty("name")]
  228. [JsonPropertyName("name")]
  229. public string Name { get; set; }
  230. /// <summary>
  231. /// 角色组名称
  232. /// </summary>
  233. [JsonProperty("group_name")]
  234. [JsonPropertyName("group_name")]
  235. public string GroupName { get; set; }
  236. }
  237. public class UnionEmpMapVoDomain
  238. {
  239. /// <summary>
  240. /// 关联分支组织中的员工userId
  241. /// </summary>
  242. [JsonProperty("userid")]
  243. [JsonPropertyName("userid")]
  244. public string Userid { get; set; }
  245. /// <summary>
  246. /// 关联分支组织的企业corpId
  247. /// </summary>
  248. [JsonProperty("corp_id")]
  249. [JsonPropertyName("corp_id")]
  250. public string CorpId { get; set; }
  251. }
  252. public class UnionEmpExtDomain
  253. {
  254. /// <summary>
  255. /// 员工的userId
  256. /// </summary>
  257. [JsonProperty("userid")]
  258. [JsonPropertyName("userid")]
  259. public string Userid { get; set; }
  260. /// <summary>
  261. /// 当前用户所属的组织的企业corpId
  262. /// </summary>
  263. [JsonProperty("corp_id")]
  264. [JsonPropertyName("corp_id")]
  265. public string CorpId { get; set; }
  266. /// <summary>
  267. /// 关联映射关系
  268. /// </summary>
  269. [JsonProperty("union_emp_map_list")]
  270. [JsonPropertyName("union_emp_map_list")]
  271. public List<UnionEmpMapVoDomain> UnionEmpMapList { get; set; }
  272. }