DingTalkConsts.java
3.47 KB
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package com.hotent.system.consts;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import cn.hutool.core.util.StrUtil;
import com.hotent.base.util.AppUtil;
import com.hotent.system.enums.BaseUrlEnum;
import com.hotent.system.model.SysExternalUnite;
import com.hotent.system.persistence.manager.SysExternalUniteManager;
import com.hotent.system.util.DingTalkTokenUtil;
/**
* 阿里钉钉常量
* @author pangquan
*
*/
public class DingTalkConsts {
private final static String DT_URL = "https://oapi.dingtalk.com";
private final static String DT_URL_NEW = "https://oapi.dingtalk.com/topapi/v2";
/**
* 获取集成信息
* @return
*/
public static SysExternalUnite getUnite(){
SysExternalUniteManager manager= AppUtil.getBean(SysExternalUniteManager.class);
return manager.getDingtalk();
}
/**
* 获取钉钉用户详细信息
* @return
*/
public static String getUserUrl() throws IOException {
String url = DT_URL + "/user/get?access_token=" + DingTalkTokenUtil.getToken() + "&userid=";
return url;
}
public static String getTokenUrl() {
return DT_URL + "/gettoken?appkey=" + getUnite().getCorpId() + "&appsecret=" + getUnite().getCorpSecret();
}
public static String getCreateUserUrl() throws IOException {
String url = DT_URL + "/user/create?access_token=" + DingTalkTokenUtil.getToken();
return url;
}
public static String getOrgUrl() throws IOException {
String url = DT_URL + "/department/get?access_token=" + DingTalkTokenUtil.getToken();
return url;
}
public static String getCreateOrgUrl() throws IOException {
String url = DT_URL_NEW + "/department/create";
return url;
}
public static String getUpdateOrgUrl() throws IOException {
String url = DT_URL + "/department/update?access_token=" + DingTalkTokenUtil.getToken();
return url;
}
public static String getDeleteOrgUrl() throws IOException {
String url = DT_URL + "/department/delete?access_token=" + DingTalkTokenUtil.getToken() + "&dept_id=";
return url;
}
public static String generateMenuUrl(String baseUrl,String corpId, BaseUrlEnum baseUrlEnum) throws UnsupportedEncodingException {
String path = BaseUrlEnum.PC.equals(baseUrlEnum)?"index":"home";
if(!baseUrl.endsWith(StrUtil.SLASH)){
path = StrUtil.SLASH + path;
}
String redirect_uri = baseUrl + path;
String url = baseUrl+"/dingTalk?corpid="+corpId+"&redirect_uri="+URLEncoder.encode(redirect_uri,"UTF-8");
return url;
}
public static String getUserInfo(String code) throws IOException {
return DT_URL+"/user/getuserinfo?access_token="+DingTalkTokenUtil.getToken()+"&code="+code;
}
/**
* 发送消息的api地址
* @return
*/
public static String getMsgSendUrl(){
return DT_URL +"/topapi/message/corpconversation/asyncsend_v2";
}
public static String getAuthorize(String paramStr) {
return getUnite().getBaseUrl()+"/dingTalk?corpid="+getUnite().getAgentKey()+"¶ms="+paramStr;
}
/**
* 获取部门列表
* @param department_id
* @return
* @throws IOException
*/
public static String getDepartmentListUrl() throws IOException {
String url =DT_URL +"/department/list";
return url;
}
/**
* 获取部门用户详情
* @return
*/
public static String getUsersByDepartmentId() {
String url =DT_URL +"/user/listbypage";
return url;
}
/**
* 获取指定部门的所有父部门列表
* @return
* @throws IOException
*/
public static String getParentByDept() throws IOException {
return DT_URL_NEW +"/department/listparentbydept";
}
}