diff --git a/src/main/java/UnitTest/TestDingTalk.java b/src/main/java/UnitTest/TestDingTalk.java index 20ece68..338fb77 100644 --- a/src/main/java/UnitTest/TestDingTalk.java +++ b/src/main/java/UnitTest/TestDingTalk.java @@ -1,5 +1,6 @@ package UnitTest; +import cn.binarywang.tools.generator.ChineseMobileNumberGenerator; import com.alibaba.druid.filter.stat.StatFilter; import com.alibaba.fastjson.JSONObject; import com.dsideal.FengHuang.Util.CommonUtil; @@ -67,12 +68,27 @@ public class TestDingTalk { String accessToken = DingTalkUtil.getAccessToken(appKey, appSecret); //同步钉钉与云平台中部门信息 - //String orgName = "长春市东光学校"; + String orgName = "长春市东光学校"; + Record record = DingTalkUtil.getOrgByOrgName(orgName); + int bureau_id = record.getInt("org_id"); + //DingTalkUtil.syncOrg(accessToken, orgName); - CommonUtil.Print(DingTalkUtil.getPerson(accessToken,"003")); + //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); + long deptId = r.getLong("dingtalk_dept_id"); + int person_id = r.getInt("person_id"); + String person_name = r.getStr("person_name"); + String tel = ChineseMobileNumberGenerator.getInstance().generate(); + DingTalkUtil.createPerson(accessToken, String.valueOf(deptId), String.valueOf(person_id), person_name, tel, "教师"); + CommonUtil.Print("成功加入人员:"+person_name); + } - CommonUtil.Print(DingTalkUtil.getPersonToken(appKey,appSecret)); + System.out.println(list); 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 d546322..eea6e8f 100644 --- a/src/main/java/com/dsideal/FengHuang/Util/DingTalkUtil.java +++ b/src/main/java/com/dsideal/FengHuang/Util/DingTalkUtil.java @@ -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 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); + } + }