DDService.java 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.malk.service.dingtalk;
  2. import java.util.List;
  3. import java.util.Map;
  4. public interface DDService {
  5. /**
  6. * 新发起审批15s内不允许撤销, 异步执行
  7. */
  8. void terminateRunningApprove_async(String access_token, String processInstanceId, boolean isSystem, String subject, String description, String operatingUserId, String noteUserId);
  9. /**
  10. * 钉钉查询假期余额返回是记录, 按照消失/天单位计算该假期类型下的余额
  11. */
  12. Map queryVacationQuota_balance(String access_token, String op_userid, String leave_code, String userids, int offset, int size);
  13. /**
  14. * 上传审批附件
  15. *
  16. * @param urlFile 远程文件地址
  17. * @param fileNamePure 文件名称[后缀自动通过地址获取]
  18. */
  19. Map uploadFileFormUrlForOverflow(String accessToken, String userId, String urlFile, String fileNamePure);
  20. /**
  21. * 上传审批附件
  22. *
  23. * @param filePath 已存在文件, 本地file绝对路径
  24. */
  25. Map uploadFileFormUrlForOverflow(String accessToken, String userId, String filePath);
  26. /**
  27. * 上传钉盘文件
  28. *
  29. * @param urlFile 远程文件地址
  30. * @param fileNamePure 氚云前端直接获取的附件ID,且免登后也无文件相关信息。若需要如文件名称,需要单独再查询SQL. 因此不能通过url截取文件名称
  31. * @param unionId String.valueOf(ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), ddConf.getOperator()).get("unionid"));
  32. */
  33. Map uploadFileFormUrlForDingDrive(String accessToken, String unionId, String spaceId, String parentId, String urlFile, String fileNamePure);
  34. // todo 通讯录部门结构返回; 通讯录全量数据同步; 限流控制
  35. /**
  36. * 判断员工是否在指定部门
  37. */
  38. boolean matchDepartment(String access_token, String userId, List<Long> deptIds);
  39. /**
  40. * 获取员工所属部门层级路径 [一个人存在多个部门默认取第一个, 不包含第一层部门]
  41. */
  42. List<Map> getUserDepartmentHierarchy(String access_token, String userId);
  43. /**
  44. * 获取员工所属部门层级路径 [名称拼接]
  45. */
  46. String getUserDepartmentHierarchyJoin(String access_token, String userId, String jon);
  47. /**
  48. * jsApi 注册
  49. *
  50. * @implNote H5无需配置, 但宜搭内免得需要配置鉴权, 才能获取到code. 宜搭非免登页面不会执行调用
  51. */
  52. Map registerJsApi(String url, String nonceStr);
  53. /**
  54. * 免登code获取用户信息
  55. */
  56. Map getUserInfoByCode(String code);
  57. }