DDClient_Contacts.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.malk.service.dingtalk;
  2. import java.util.Date;
  3. import java.util.List;
  4. import java.util.Map;
  5. /**
  6. * 钉钉通讯录管理
  7. *
  8. * @apiNote https://open.dingtalk.com/document/orgapp/contacts-overview
  9. */
  10. public interface DDClient_Contacts {
  11. /**
  12. * 获取子部门ID列表 [获取企业部门下的所有直属子部门列表]
  13. */
  14. List<Long> listSubDepartmentId(String access_token, long dept_id);
  15. /**
  16. * 获取部门列表
  17. */
  18. List<Map> listSubDepartmentDetail(String access_token, long dept_id);
  19. /**
  20. * 获取全部架构内部门_全部 ID [是否包含一级部门]
  21. */
  22. List<Long> getDepartmentId_all(String access_token, boolean containsTop);
  23. /**
  24. * 获取全部架构内部门_全部 detail [是否包含一级部门]
  25. */
  26. List<Map> getDepartmentDetail_all(String access_token, boolean containsTop);
  27. /**
  28. * 获取部门用户userid列表 [无需分页]
  29. */
  30. List<String> listDepartmentUserId(String access_token, long dept_id);
  31. /**
  32. * 查询用户详情 [如入职时间 手机号等, 需要再=在花名册添加员工可见, 接口才会返回]
  33. */
  34. Map getUserInfoById(String access_token, String userId);
  35. /**
  36. * 根据手机号查询用户 [手机号查询仅返回userid, 查询详情后返回]
  37. */
  38. Map getUserInfoByMobile(String access_token, String mobile);
  39. /**
  40. * 删除用户
  41. */
  42. boolean deleteUser(String access_token, String userId);
  43. /**
  44. * 查询离职记录列表
  45. *
  46. * @param startTime 开始时间: 格式:YYYY-MM-DDTHH:mm:ssZ(ISO 8601/RFC 3339)
  47. * @param extInfo maxResults, 每页最大条目数,最大值50. nextToken 分页游标. endTime 结束时间, 默认当前时间, 查询跨度不能超过365天
  48. */
  49. List<Map<String, String>> getLeaveEmployeeRecords(String access_token, Date startTime, Map extInfo);
  50. /**
  51. * 获取指定用户的所有父部门列表
  52. */
  53. Map listParentByUser(String access_token, String userId);
  54. /**
  55. * 创建用户 [24小时只能收到一次邀请通知, 若是频繁退出再进入, 可关闭邀请确认后自动加入, 路径: 设置 - 安全中心 - 隐私开关 - 团队添加我时需要我的确认 - 关闭]
  56. */
  57. Map createUser(String access_token, String name, String mobile, List<String> dept_id_list, Map body_ext);
  58. /**
  59. * 创建部门
  60. */
  61. Map createDepartment(String access_token, String name, long parent_id, Map body_ext);
  62. /**
  63. * 获取部门详情
  64. */
  65. Map getDepartmentInfo(String access_token, long dept_id);
  66. /**
  67. * 获取员工人数
  68. *
  69. * @param only_active 是否包含未激活钉钉人数
  70. */
  71. int getUserCount(String access_token, boolean only_active);
  72. }