55aaae11a6c5276454adbaeb4a1e3b013e80746b.svn-base 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package org.jeecg.modules.system.service;
  2. import org.jeecg.common.api.dto.message.MessageDTO;
  3. import org.jeecg.modules.system.vo.thirdapp.SyncInfoVo;
  4. import java.util.List;
  5. /**
  6. * 第三方App对接
  7. */
  8. public interface IThirdAppService {
  9. String getAccessToken();
  10. /**
  11. * 将本地部门同步到第三方App<br>
  12. * 同步方向:本地 --> 第三方APP
  13. * 同步逻辑:<br>
  14. * 1. 先判断是否同步过,有则修改,无则创建;<br>
  15. * 2. 本地没有但第三方App里有则删除第三方App里的。
  16. *
  17. * @return 成功返回true
  18. */
  19. boolean syncLocalDepartmentToThirdApp(String ids);
  20. /**
  21. * 将第三方App部门同步到本地<br>
  22. * 同步方向:第三方APP --> 本地
  23. * 同步逻辑:<br>
  24. * 1. 先判断是否同步过,有则修改,无则创建;<br>
  25. * 2. 本地没有但第三方App里有则删除第三方App里的。
  26. *
  27. * @return 成功返回true
  28. */
  29. SyncInfoVo syncThirdAppDepartmentToLocal(String ids);
  30. /**
  31. * 将本地用户同步到第三方App<br>
  32. * 同步方向:本地 --> 第三方APP <br>
  33. * 同步逻辑:先判断是否同步过,有则修改、无则创建<br>
  34. * 注意:同步人员的状态,比如离职、禁用、逻辑删除等。
  35. * (特殊点:1、目前逻辑特意做的不删除用户,防止企业微信提前上线,用户已经存在,但是平台无此用户。
  36. * 企业微信支持禁用账号;钉钉不支持
  37. * 2、企业微信里面是手机号激活,只能用户自己改,不允许通过接口改)
  38. *
  39. * @return 成功返回空数组,失败返回错误信息
  40. */
  41. SyncInfoVo syncLocalUserToThirdApp(String ids);
  42. /**
  43. * 将第三方App用户同步到本地<br>
  44. * 同步方向:第三方APP --> 本地 <br>
  45. * 同步逻辑:先判断是否同步过,有则修改、无则创建<br>
  46. * 注意:同步人员的状态,比如离职、禁用、逻辑删除等。
  47. *
  48. * @return 成功返回空数组,失败返回错误信息
  49. */
  50. SyncInfoVo syncThirdAppUserToLocal();
  51. /**
  52. * 根据本地用户ID,删除第三方APP的用户
  53. *
  54. * @param userIdList 本地用户ID列表
  55. * @return 0表示成功,其他值表示失败
  56. */
  57. int removeThirdAppUser(List<String> userIdList);
  58. /**
  59. * 发送消息
  60. *
  61. * @param message
  62. * @param verifyConfig 是否验证配置(未启用的APP会拒绝发送)
  63. * @return
  64. */
  65. boolean sendMessage(MessageDTO message, boolean verifyConfig);
  66. boolean sendMessage(MessageDTO message);
  67. }