package com.malk.service.dingtalk; import java.util.List; import java.util.Map; public interface DDService { /** * 新发起审批15s内不允许撤销, 异步执行 */ void terminateRunningApprove_async(String access_token, String processInstanceId, boolean isSystem, String subject, String description, String operatingUserId, String noteUserId); /** * 钉钉查询假期余额返回是记录, 按照消失/天单位计算该假期类型下的余额 */ Map queryVacationQuota_balance(String access_token, String op_userid, String leave_code, String userids, int offset, int size); /** * 上传审批附件 * * @param urlFile 远程文件地址 * @param fileNamePure 文件名称[后缀自动通过地址获取] */ Map uploadFileFormUrlForOverflow(String accessToken, String userId, String urlFile, String fileNamePure); /** * 上传审批附件 * * @param filePath 已存在文件, 本地file绝对路径 */ Map uploadFileFormUrlForOverflow(String accessToken, String userId, String filePath); /** * 上传钉盘文件 * * @param urlFile 远程文件地址 * @param fileNamePure 氚云前端直接获取的附件ID,且免登后也无文件相关信息。若需要如文件名称,需要单独再查询SQL. 因此不能通过url截取文件名称 * @param unionId String.valueOf(ddClient_contacts.getUserInfoById(ddClient.getAccessToken(), ddConf.getOperator()).get("unionid")); */ Map uploadFileFormUrlForDingDrive(String accessToken, String unionId, String spaceId, String parentId, String urlFile, String fileNamePure); // todo 通讯录部门结构返回; 通讯录全量数据同步; 限流控制 /** * 判断员工是否在指定部门 */ boolean matchDepartment(String access_token, String userId, List deptIds); /** * 获取员工所属部门层级路径 [一个人存在多个部门默认取第一个, 不包含第一层部门] */ List getUserDepartmentHierarchy(String access_token, String userId); /** * 获取员工所属部门层级路径 [名称拼接] */ String getUserDepartmentHierarchyJoin(String access_token, String userId, String jon); /** * jsApi 注册 * * @implNote H5无需配置, 但宜搭内免得需要配置鉴权, 才能获取到code. 宜搭非免登页面不会执行调用 */ Map registerJsApi(String url, String nonceStr); /** * 免登code获取用户信息 */ Map getUserInfoByCode(String code); }