From 476586d5e90244107f91037b4b0d8f0724aaefd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 7 Jun 2023 07:28:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/UnitTest/TestDingTalk.java | 8 +- .../dsideal/FengHuang/Util/DingTalkUtil.java | 82 ++++++------------- src/main/resource/dingtalk.properties | 4 +- 3 files changed, 33 insertions(+), 61 deletions(-) diff --git a/src/main/java/UnitTest/TestDingTalk.java b/src/main/java/UnitTest/TestDingTalk.java index 8a5a4f1..ce17214 100644 --- a/src/main/java/UnitTest/TestDingTalk.java +++ b/src/main/java/UnitTest/TestDingTalk.java @@ -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 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("恭喜,所有操作成功完成!"); } } diff --git a/src/main/java/com/dsideal/FengHuang/Util/DingTalkUtil.java b/src/main/java/com/dsideal/FengHuang/Util/DingTalkUtil.java index eea6e8f..3840913 100644 --- a/src/main/java/com/dsideal/FengHuang/Util/DingTalkUtil.java +++ b/src/main/java/com/dsideal/FengHuang/Util/DingTalkUtil.java @@ -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 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 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 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 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 list = Db.find(sql, orgId); + return list; + } + public static List 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); + } + } diff --git a/src/main/resource/dingtalk.properties b/src/main/resource/dingtalk.properties index 1958c46..dbfb4e3 100644 --- a/src/main/resource/dingtalk.properties +++ b/src/main/resource/dingtalk.properties @@ -1,7 +1,7 @@ +# 企业管理员可以直接点击登录钉钉开放平台 -【基本信息】-【开发信息(旧版)】查看企业的CorpID和SSOsecret。 # 公司ID corpId=dingbb7089b2561d88a435c2f4657eb6378f -# 企业管理员可以直接点击登录钉钉开放平台 -【基本信息】-【开发信息(旧版)】查看企业的CorpID和SSOsecret。 -SSOSecret=AnzvCq3MsUhOpEO4ieiig2ExPMACWY-A4IjBRTFnXQJ1XUngkQTraAbjDv4-kNPp + # 每个应用都拥有唯一的AgentId agentId=2620299417 # AK SK