CYClient.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package com.malk.service.h3yun;
  2. import java.io.File;
  3. import java.util.List;
  4. import java.util.Map;
  5. public interface CYClient {
  6. //////////////////////////// 单据流程 ////////////////////////////
  7. // todo: 统一规划宜搭和氚云格式
  8. /**
  9. * 查询表单数据
  10. *
  11. * @param schemaCode 表单编码
  12. * @param extInfo 扩展信息
  13. * - pageNumber 分页页码; pageSize 分页页大小,最大值500
  14. * - returnFields 需要返回的字段名,仅支持传入主表的字段
  15. * - matcherJson json格式的动态条件过滤器
  16. * - sortByFields: { fieldName: "排序字段名", direction: "Ascending:升序 / Descending:降序" } 排序字段结构列表
  17. */
  18. List<Map> queryData(String accessToken, String schemaCode, Map extInfo);
  19. /**
  20. * 创建流程数据 [todo: 接口代合并, 流程的逻辑为先创建表单数据为Draft, 再进行流程提交]
  21. *
  22. * @param extInfo 扩展信息, opUserId 操作用户ID
  23. * - 流程发起, 需要传递创建Draft数据ID;
  24. * - 创建表单数据 bizObjectJson ; isDraft 是否是草稿
  25. */
  26. Map operateData(String accessToken, String schemaCode, Map extInfo);
  27. //////////////////////////// 附件处理 ////////////////////////////
  28. /**
  29. * 获取附件临时免登地址 [此返回地址有效期为三十分钟]
  30. *
  31. * @param attachmentId 获取原附件预览地址 [只能作为在线预览, 接口传递无登录态, 参考 getAttachmentPreviewUrl]
  32. * @return 返回地址无后缀了[选择对应类型软件可打开], 建议通过氚云文件名做处理, 重新命名储存文件名称与后缀
  33. */
  34. String getTemporaryUrls(String accessToken, String attachmentId);
  35. /**
  36. * 储存氚云附件到本地, 保留文件名称与格式
  37. */
  38. File saveFromTemporaryUrl(String accessToken, Map attachmentId);
  39. Map updatetForm(String accessToken,String schemaCode,String bizObjectId,String bizObjectJson);
  40. //////////////////////////// 组织架构 ////////////////////////////
  41. /**
  42. * 获取用户数据
  43. * -
  44. * ppExt 氚云组织架构只有全量查询接口, 且部门和用户ID, 有单独ID. 更甚接口未返回钉钉userId与手机号登信息
  45. * 1. todo: 后续考虑新建氚云webservice进行查询
  46. * 2. 临时方案为, H_User系统表, 字段DingTalkAccount「返回格式为 userId.corpId」, 通过氚云定时任务储存与钉钉对照关系
  47. *
  48. * @param isRecursive 是否递归获取子级部门下的用户。默认值为false
  49. */
  50. @Deprecated
  51. List<Map> getUserInfoList(String accessToken, String departmentId, boolean isRecursive);
  52. /**
  53. * 获取组织数据 [ppExt: 氚云接口返回组织架构为平铺列表, 若需要可通过 parentId 构建]
  54. *
  55. * @param departmentId 为空返回同步部门
  56. */
  57. @Deprecated
  58. List<Map> getDepartmentInfoList(String accessToken, String departmentId);
  59. }