UserDetailResponse.cs 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  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. public class UserDetailResponse : DingtalkResponseErrorResultRequestId<UserDetailResponseResultDomain>
  10. {
  11. }
  12. public class UserDetailResponseResultDomain
  13. {
  14. /// <summary>
  15. /// 员工的userId
  16. /// </summary>
  17. public string UserId { get; set; }
  18. /// <summary>
  19. /// 员工在当前开发者企业账号范围内的唯一标识
  20. /// </summary>
  21. public string Unionid { get; set; }
  22. /// <summary>
  23. /// 员工姓名
  24. /// </summary>
  25. public string Name { get; set; }
  26. /// <summary>
  27. /// 头像
  28. /// </summary>
  29. public string Avatar { get; set; }
  30. /// <summary>
  31. /// 国际电话区号
  32. /// </summary>
  33. [JsonProperty("state_code")]
  34. [JsonPropertyName("state_code")]
  35. public string StateCode { get; set; }
  36. /// <summary>
  37. /// 员工的直属主管
  38. /// </summary>
  39. [JsonProperty("manager_userid")]
  40. [JsonPropertyName("manager_userid")]
  41. public string ManagerUserId { get; set; }
  42. /// <summary>
  43. /// 手机号码
  44. /// </summary>
  45. public string Mobile { get; set; }
  46. /// <summary>
  47. /// 是否号码隐藏
  48. /// </summary>
  49. [JsonProperty("hide_mobile")]
  50. [JsonPropertyName("hide_mobile")]
  51. public bool HideMobile { get; set; }
  52. /// <summary>
  53. /// 分机号
  54. /// </summary>
  55. public string Telephone { get; set; }
  56. /// <summary>
  57. /// 员工工号
  58. /// </summary>
  59. [JsonProperty("job_number")]
  60. [JsonPropertyName("job_number")]
  61. public string JobNumber { get; set; }
  62. /// <summary>
  63. /// 职位
  64. /// </summary>
  65. public string Title { get; set; }
  66. /// <summary>
  67. /// 员工邮箱
  68. /// </summary>
  69. public string Email { get; set; }
  70. /// <summary>
  71. /// 办公地点
  72. /// </summary>
  73. [JsonProperty("work_place")]
  74. [JsonPropertyName("work_place")]
  75. public string WorkPlace { get; set; }
  76. /// <summary>
  77. /// 备注
  78. /// </summary>
  79. public string Remark { get; set; }
  80. /// <summary>
  81. /// 是否为企业账号
  82. /// </summary>
  83. [JsonProperty("exclusive_account")]
  84. [JsonPropertyName("exclusive_account")]
  85. public bool ExclusiveAccount { get; set; }
  86. /// <summary>
  87. /// 员工的企业邮箱。如果员工的企业邮箱没有开通,返回信息中不包含该数据
  88. /// </summary>
  89. [JsonProperty("org_email")]
  90. [JsonPropertyName("org_email")]
  91. public string OrgEmail { get; set; }
  92. /// <summary>
  93. /// 所属部门id列表
  94. /// </summary>
  95. [JsonProperty("dept_id_list")]
  96. [JsonPropertyName("dept_id_list")]
  97. public List<long> DeptIdList { get; set; }
  98. /// <summary>
  99. /// 员工在对应的部门中的排序
  100. /// </summary>
  101. [JsonProperty("dept_order_list")]
  102. [JsonPropertyName("dept_order_list")]
  103. public List<DeptOrderDomain> DeptOrderList { get; set; }
  104. /// <summary>
  105. /// 扩展属性,最大长度2000个字符
  106. /// </summary>
  107. public string Extension { get; set; }
  108. /// <summary>
  109. /// 入职时间,Unix时间戳,单位毫秒
  110. /// </summary>
  111. [JsonProperty("hired_date")]
  112. [JsonPropertyName("hired_date")]
  113. public long HiredDate { get; set; }
  114. /// <summary>
  115. /// 是否激活了钉钉
  116. /// </summary>
  117. public bool Active { get; set; }
  118. /// <summary>
  119. /// 是否完成了实名认证
  120. /// </summary>
  121. [JsonProperty("real_authed")]
  122. [JsonPropertyName("real_authed")]
  123. public bool RealAuthed { get; set; }
  124. /// <summary>
  125. /// 是否为企业的高管
  126. /// </summary>
  127. public bool Senior { get; set; }
  128. /// <summary>
  129. /// 是否为企业的管理员
  130. /// </summary>
  131. public bool Admin { get; set; }
  132. /// <summary>
  133. /// 是否为企业的老板
  134. /// </summary>
  135. public bool Boss { get; set; }
  136. /// <summary>
  137. /// 员工所在部门信息及是否是领导
  138. /// </summary>
  139. [JsonProperty("leader_in_dept")]
  140. [JsonPropertyName("leader_in_dept")]
  141. public List<DeptLeaderDomain> LeaderInDept { get; set; }
  142. /// <summary>
  143. /// 角色列表
  144. /// </summary>
  145. [JsonProperty("role_list")]
  146. [JsonPropertyName("role_list")]
  147. public List<UserRoleDomain> RoleList { get; set; }
  148. /// <summary>
  149. /// 当用户来自于关联组织时的关联信息
  150. /// </summary>
  151. [JsonProperty("union_emp_ext")]
  152. [JsonPropertyName("union_emp_ext")]
  153. public UnionEmpExtDomain UnionEmpExt { get; set; }
  154. }
  155. public class DeptOrderDomain
  156. {
  157. /// <summary>
  158. /// 部门id
  159. /// </summary>
  160. [JsonProperty("dept_id")]
  161. [JsonPropertyName("dept_id")]
  162. public long DeptId { get; set; }
  163. /// <summary>
  164. /// 员工在部门中的排序
  165. /// </summary>
  166. [JsonProperty("order")]
  167. [JsonPropertyName("order")]
  168. public long Order { get; set; }
  169. }
  170. public class DeptLeaderDomain
  171. {
  172. /// <summary>
  173. /// 部门ID
  174. /// </summary>
  175. [JsonProperty("dept_id")]
  176. [JsonPropertyName("dept_id")]
  177. public long DeptId { get; set; }
  178. /// <summary>
  179. /// 是否是领导
  180. /// </summary>
  181. [JsonProperty("leader")]
  182. [JsonPropertyName("leader")]
  183. public bool Leader { get; set; }
  184. }
  185. public class UserRoleDomain
  186. {
  187. /// <summary>
  188. /// 角色ID
  189. /// </summary>
  190. [JsonProperty("id")]
  191. [JsonPropertyName("id")]
  192. public long Id { get; set; }
  193. /// <summary>
  194. /// 角色名称
  195. /// </summary>
  196. [JsonProperty("name")]
  197. [JsonPropertyName("name")]
  198. public string Name { get; set; }
  199. /// <summary>
  200. /// 角色组名称
  201. /// </summary>
  202. [JsonProperty("group_name")]
  203. [JsonPropertyName("group_name")]
  204. public string GroupName { get; set; }
  205. }
  206. public class UnionEmpMapVoDomain
  207. {
  208. /// <summary>
  209. /// 关联分支组织中的员工userId
  210. /// </summary>
  211. [JsonProperty("userid")]
  212. [JsonPropertyName("userid")]
  213. public string Userid { get; set; }
  214. /// <summary>
  215. /// 关联分支组织的企业corpId
  216. /// </summary>
  217. [JsonProperty("corp_id")]
  218. [JsonPropertyName("corp_id")]
  219. public string CorpId { get; set; }
  220. }
  221. public class UnionEmpExtDomain
  222. {
  223. /// <summary>
  224. /// 员工的userId
  225. /// </summary>
  226. [JsonProperty("userid")]
  227. [JsonPropertyName("userid")]
  228. public string Userid { get; set; }
  229. /// <summary>
  230. /// 当前用户所属的组织的企业corpId
  231. /// </summary>
  232. [JsonProperty("corp_id")]
  233. [JsonPropertyName("corp_id")]
  234. public string CorpId { get; set; }
  235. /// <summary>
  236. /// 关联映射关系
  237. /// </summary>
  238. [JsonProperty("union_emp_map_list")]
  239. [JsonPropertyName("union_emp_map_list")]
  240. public List<UnionEmpMapVoDomain> UnionEmpMapList { get; set; }
  241. }