|
|
|
@ -144,6 +144,7 @@ public class DingTalkUtil {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//TODO 未完成
|
|
|
|
|
public static String getPersonToken(String appKey, String appSecret) throws Exception {
|
|
|
|
|
com.aliyun.dingtalkoauth2_1_0.Client client = createClient();
|
|
|
|
|
GetUserTokenRequest getUserTokenRequest = new GetUserTokenRequest()
|
|
|
|
@ -341,7 +342,7 @@ public class DingTalkUtil {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static JSONObject getDeptInfo(String access_token, long deptId){
|
|
|
|
|
public static JSONObject getDeptInfo(String access_token, long deptId) {
|
|
|
|
|
JSONObject jo;
|
|
|
|
|
try {
|
|
|
|
|
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/get");
|
|
|
|
@ -356,7 +357,7 @@ public class DingTalkUtil {
|
|
|
|
|
return jo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void syncOrg(String accessToken,String orgName) throws ApiException {
|
|
|
|
|
public static void syncOrg(String accessToken, String orgName) throws ApiException {
|
|
|
|
|
Record rOrg = getOrgByOrgName(orgName);
|
|
|
|
|
int bureauId = rOrg.getInt("org_id");
|
|
|
|
|
int sortId = rOrg.getInt("sort_id");
|
|
|
|
@ -369,9 +370,9 @@ public class DingTalkUtil {
|
|
|
|
|
if (jRes.getLong("errcode") > 0) {
|
|
|
|
|
DT_BureauId = createDept(accessToken, orgName, 1, sortId);
|
|
|
|
|
writeDtDeptId(bureauId, String.valueOf(DT_BureauId));//记得要回写
|
|
|
|
|
CommonUtil.Print("单位名称:"+orgName+"不存在!已创建!");
|
|
|
|
|
CommonUtil.Print("单位名称:" + orgName + "不存在!已创建!");
|
|
|
|
|
} else {
|
|
|
|
|
CommonUtil.Print("单位名称:"+orgName+"已存在,保留!");
|
|
|
|
|
CommonUtil.Print("单位名称:" + orgName + "已存在,保留!");
|
|
|
|
|
}
|
|
|
|
|
//获取下属部门的列表
|
|
|
|
|
getDeptList(accessToken, DT_BureauId);
|
|
|
|
@ -453,4 +454,13 @@ public class DingTalkUtil {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static List<Record> getPersonList(int bureau_id) {
|
|
|
|
|
String sql = "select t1.person_id,t1.person_name,t2.dingtalk_dept_id from t_base_person as t1 " +
|
|
|
|
|
"inner join t_base_organization as t2 on t1.org_id=t2.org_id " +
|
|
|
|
|
" where t1.bureau_id=? and t1.b_use=1";
|
|
|
|
|
return Db.find(sql, bureau_id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|