main
黄海 2 years ago
parent 381d708e11
commit 476586d5e9

@ -47,7 +47,6 @@ public class TestDingTalk {
public static void main(String[] args_) throws Exception {
PropKit.use("dingtalk.properties");
String corpId = PropKit.get("corpId");
String ssoSecret = PropKit.get("SSOSecret");
long agentId = PropKit.getLong("agentId");
final String appKey = PropKit.get("appKey");
String appSecret = PropKit.get("appSecret");
@ -73,9 +72,6 @@ public class TestDingTalk {
int bureau_id = record.getInt("org_id");
DingTalkUtil.syncOrg(accessToken, orgName);
//CommonUtil.Print(DingTalkUtil.getPerson(accessToken, "003"));
//CommonUtil.Print(DingTalkUtil.getPersonToken(appKey, appSecret));
List<Record> list = DingTalkUtil.getPersonList(bureau_id);
for (int i = 0; i < list.size(); i++) {
Record r = list.get(i);
@ -88,6 +84,10 @@ public class TestDingTalk {
}
// System.out.println(list);
//CommonUtil.Print(DingTalkUtil.getPerson(accessToken, "003"));
//CommonUtil.Print(DingTalkUtil.getPersonToken(appKey, appSecret));
CommonUtil.Print("恭喜,所有操作成功完成!");
}
}

@ -93,7 +93,7 @@ public class DingTalkUtil {
}
/*
SsoToken
SsoToken()
2023-06-06
*/
@ -288,60 +288,6 @@ public class DingTalkUtil {
//System.out.println(rsp.getBody());
}
public static void writeDtDeptId(int orgId, String value) {
String sql = "update t_base_organization set dingtalk_dept_id=? where org_id=?";
Db.update(sql, value, orgId);
}
public static long getDtDeptId(int org_id) {
String sql = "select dingtalk_dept_id from t_base_organization where org_id=?";
Record r = Db.findFirst(sql, org_id);
if (r.get("dingtalk_dept_id") == null) return 1;
return r.get("dingtalk_dept_id");
}
public static Record getOrgByOrgName(String org_name) {
String sql = "select org_id,org_name,sort_id from t_base_organization where org_name = ?";
return Db.findFirst(sql, org_name);
}
public static List<Record> getOrgList(int orgId) {
// 学校及学校下的部门
String sql = "select org_id,org_name,parent_id,sort_id,dingtalk_dept_id from t_base_organization where bureau_id=? and org_id<>bureau_id order by org_id";
List<Record> list = Db.find(sql, orgId);
return list;
}
public static void importYptOrg(String accessToken, int orgId) throws ApiException {
//1、读取云平台数据创建学校
/*
ID
ALTER TABLE `dsideal_db`.`t_base_organization`
ADD COLUMN `dingtalk_dept_id` bigint NULL COMMENT 'ID' AFTER `zydz`,
ADD INDEX(`dingtalk_dept_id`);
*/
//单位需要清空一下这个属性,有枣没枣都打一下子
writeDtDeptId(orgId, null);
// 学校及学校下的部门
List<Record> list = getOrgList(orgId);
for (int i = 0; i < list.size(); i++) {
orgId = list.get(i).getInt("org_id");
int parentId = list.get(i).getInt("parent_id");
if (parentId == -1) parentId = orgId;
String dept_name = list.get(i).getStr("org_name");
long dingtalk_dept_id = getDtDeptId(parentId);
long sortId = list.get(i).getLong("sort_id");
//创建
long dt_dept_id = DingTalkUtil.createDept(accessToken, dept_name, dingtalk_dept_id, sortId);
//回写
writeDtDeptId(orgId, String.valueOf(dt_dept_id));
}
}
public static JSONObject getDeptInfo(String access_token, long deptId) {
JSONObject jo;
try {
@ -455,6 +401,15 @@ public class DingTalkUtil {
}
}
/**-----------------------------------------------------下面是数据库操作---------------------------------------------*/
public static List<Record> getOrgList(int orgId) {
// 学校及学校下的部门
String sql = "select org_id,org_name,parent_id,sort_id,dingtalk_dept_id from t_base_organization where bureau_id=? and org_id<>bureau_id order by org_id";
List<Record> list = Db.find(sql, orgId);
return list;
}
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 " +
@ -463,4 +418,21 @@ public class DingTalkUtil {
return Db.find(sql, bureau_id);
}
public static void writeDtDeptId(int orgId, String value) {
String sql = "update t_base_organization set dingtalk_dept_id=? where org_id=?";
Db.update(sql, value, orgId);
}
public static long getDtDeptId(int org_id) {
String sql = "select dingtalk_dept_id from t_base_organization where org_id=?";
Record r = Db.findFirst(sql, org_id);
if (r.get("dingtalk_dept_id") == null) return 1;
return r.get("dingtalk_dept_id");
}
public static Record getOrgByOrgName(String org_name) {
String sql = "select org_id,org_name,sort_id from t_base_organization where org_name = ?";
return Db.findFirst(sql, org_name);
}
}

@ -1,7 +1,7 @@
# 企业管理员可以直接点击登录钉钉开放平台 -【基本信息】-【开发信息旧版】查看企业的CorpID和SSOsecret。
# 公司ID
corpId=dingbb7089b2561d88a435c2f4657eb6378f
# 企业管理员可以直接点击登录钉钉开放平台 -【基本信息】-【开发信息旧版】查看企业的CorpID和SSOsecret。
SSOSecret=AnzvCq3MsUhOpEO4ieiig2ExPMACWY-A4IjBRTFnXQJ1XUngkQTraAbjDv4-kNPp
# 每个应用都拥有唯一的AgentId
agentId=2620299417
# AK SK

Loading…
Cancel
Save