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