DepartmentRequest.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. // Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
  2. //
  3. // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
  4. //
  5. // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
  6. using Admin.NET.Plugin.DingTalk.RequestProxy.Department.DTO;
  7. namespace Admin.NET.Plugin.DingTalk.RequestProxy.Department;
  8. public class DepartmentRequest : IScoped
  9. {
  10. private readonly IDepartmentRequestProxy _request;
  11. public DepartmentRequest(IDepartmentRequestProxy request)
  12. {
  13. _request = request;
  14. }
  15. /// <summary>
  16. /// 获取部门详情
  17. /// </summary>
  18. /// <param name="accessToken"></param>
  19. /// <param name="deptId">部门ID,根部门ID为1</param>
  20. /// <param name="language">通讯录语言:zh_CN(默认):中文,en_US:英文</param>
  21. /// <returns></returns>
  22. public async Task<GetDeptInfoResponse> GetDeptInfo(string accessToken, long deptId = 1, string language = "zh_CN")
  23. {
  24. var resStr = await _request.GetDeptInfo(accessToken, new DTO.GetDeptInfoRequest
  25. {
  26. DeptId = deptId,
  27. Language = language
  28. });
  29. var res = resStr.ToObject<GetDeptInfoResponse>();
  30. return res;
  31. }
  32. /// <summary>
  33. /// 获取子部门ID列表
  34. /// </summary>
  35. /// <param name="accessToken"></param>
  36. /// <param name="deptId">父部门ID,根部门传1</param>
  37. /// <returns></returns>
  38. public async Task<ListSubIdResponse> ListSubId(string accessToken, long deptId = 1)
  39. {
  40. var resStr = await _request.ListSubId(accessToken, new ListSubIdRequest
  41. {
  42. DeptId = deptId
  43. });
  44. var res = resStr.ToObject<ListSubIdResponse>();
  45. return res;
  46. }
  47. /// <summary>
  48. /// 获取部门列表
  49. /// </summary>
  50. /// <param name="accessToken"></param>
  51. /// <param name="deptId">父部门ID</param>
  52. /// <param name="language">通讯录语言:,zh_CN(默认):中文,en_US:英文</param>
  53. /// <returns></returns>
  54. public async Task<ListSubResponse> ListSub(string accessToken, long deptId = 1, string language = "zh_CN")
  55. {
  56. var resStr = await _request.ListSub(accessToken, new ListSubRequest
  57. {
  58. DeptId = deptId,
  59. Language = language
  60. });
  61. var res = resStr.ToObject<ListSubResponse>();
  62. return res;
  63. }
  64. }