CYClient.java 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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. //////////////////////////// 组织架构 ////////////////////////////
  40. /**
  41. * 获取用户数据
  42. * -
  43. * ppExt 氚云组织架构只有全量查询接口, 且部门和用户ID, 有单独ID. 更甚接口未返回钉钉userId与手机号登信息
  44. * 1. todo: 后续考虑新建氚云webservice进行查询
  45. * 2. 临时方案为, H_User系统表, 字段DingTalkAccount「返回格式为 userId.corpId」, 通过氚云定时任务储存与钉钉对照关系
  46. *
  47. * @param isRecursive 是否递归获取子级部门下的用户。默认值为false
  48. */
  49. @Deprecated
  50. List<Map> getUserInfoList(String accessToken, String departmentId, boolean isRecursive);
  51. /**
  52. * 获取组织数据 [ppExt: 氚云接口返回组织架构为平铺列表, 若需要可通过 parentId 构建]
  53. *
  54. * @param departmentId 为空返回同步部门
  55. */
  56. @Deprecated
  57. List<Map> getDepartmentInfoList(String accessToken, String departmentId);
  58. /**
  59. * 24年8月份后,只能调用氚云官网接口,从钉钉测不能调用接口
  60. * 案例,未完善
  61. */
  62. //根据数据ID查询详情
  63. void SelectOne(Map<String, Object> paramMap);
  64. //根据条件批量查询数据
  65. void SelectMore(Map<String, Object> paramMap);
  66. //创建一条数据
  67. void CreateBusinessData(Map<String, Object> paramMap);
  68. //根据数据ID修改某条数据
  69. void UpdateBusinessData(Map<String, Object> paramMap);
  70. }