Compare commits

...

2 Commits

Author SHA1 Message Date
黄海 2e31ef9243 'commit'
2 years ago
黄海 dbc83c9eed 变更
2 years ago

@ -1,13 +1,12 @@
package com.dsideal.FengHuang.DingTalk;
import com.dsideal.FengHuang.DingTalk.Util.*;
import com.dsideal.FengHuang.DingTalk.Util.DingTalkCommon;
import com.dsideal.FengHuang.DingTalk.Util.Model;
import com.dsideal.FengHuang.DingTalk.Util.OrgPerson;
import com.dsideal.FengHuang.DingTalk.Util.RolePerson;
import com.dsideal.FengHuang.Util.CommonUtil;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.plugin.redis.RedisPlugin;
public class Full {
@ -25,15 +24,13 @@ public class Full {
Record rOrg = Model.getOrgByOrgName(orgName);
//开发测试时专用,批量删除人员与组织机构
//Model.fillDeptListByDataBase(rOrg);//从数据库中获取最新的部门列表(已与钉钉匹配完毕)
//OrgPerson.delBureauPerson(accessToken,rOrg);
//OrgPerson.delAllDept(accessToken);
//OrgPerson.delBureauPerson(accessToken, rOrg);
//OrgPerson.delAllDept(accessToken, rOrg);
//初始化组织机构【需提前手动删除此学校及下属部门】
//初始化组织机构
//OrgPerson.InitOrg(accessToken, rOrg);
//同步人员
//Model.fillDeptListByDataBase(rOrg);//从数据库中获取最新的部门列表(已与钉钉匹配完毕)
//OrgPerson.initPerson(accessToken, rOrg,10);//这里限定了上限人数为10
//初始化角色组
@ -42,11 +39,11 @@ public class Full {
//RolePerson.initRole(accessToken, groupId);
//同步人员角色信息
//RolePerson.initPersonRole(accessToken, rOrg);
CommonUtil.Print("恭喜,所有操作成功完成!");
RolePerson.initPersonRole(accessToken, rOrg);
// 记录全量同步完成时间
Progress.finishInit();
Model.finishInit();
CommonUtil.Print("恭喜,所有操作成功完成!");
}
}

@ -106,4 +106,11 @@ public class Model {
String sql = "select dingtalk_dept_id from t_base_organization where org_id=?";
return Db.findFirst(sql, org_id).getLong("dingtalk_dept_id");
}
public static void finishInit() {
List<Record> list = Db.findAll("t_dingtalk_progress");
for (Record record : list) {
Model.saveLastSyncTime(record.getStr("table_name"));
}
}
}

@ -127,7 +127,6 @@ public class OrgPerson {
//云平台
List<Record> list = Model.getOrgList(bureau_id);
//在B不在A
for (Record record : list) {
// 增加
String org_name = record.getStr("org_name");
@ -138,6 +137,7 @@ public class OrgPerson {
long dingTalkParentDeptId = 1;
if (parentId > 0) dingTalkParentDeptId = Model.getDtDeptId(parentId);
long dt_dept_id = createDept(accessToken, org_name, dingTalkParentDeptId, sId, parentId == -1);
DingTalkCommon.WriteActionTimes();
Model.writeDtDeptId(org_id, String.valueOf(dt_dept_id));
CommonUtil.Print("成功创建部门:" + org_name);
}
@ -205,7 +205,7 @@ public class OrgPerson {
req.setLanguage("zh_CN");
OapiUserListsimpleResponse rsp = client.execute(req, access_token);
JSONObject jo = JSONObject.parseObject(rsp.getBody());
if(jo==null) return;
JSONArray ja = jo.getJSONObject("result").getJSONArray("list");
if (ja == null) return;
for (int i = 0; i < ja.size(); i++) {
@ -255,19 +255,23 @@ public class OrgPerson {
tel = DingTalkCommon.getLawfulTel(tel);
long deptId = record.getLong("dingtalk_dept_id");
createPerson(accessToken, deptId, person_id, person_name, tel, "教师");
DingTalkCommon.WriteActionTimes();
//回写标识
Model.writePersonDingTalkId(person_id);
CommonUtil.Print("成功加入人员:" + person_name);
DingTalkCommon.WriteActionTimes();
}
}
public static void delAllDept(String access_token) throws ApiException {
public static void delAllDept(String access_token,Record rOrg) throws ApiException {
getDeptList(access_token,rOrg.getInt("dingtalk_dept_id"));
for (int i = 0; i < deptList.size(); i++) {
delDept(access_token, deptList.get(i).getLong("dept_id"));
DingTalkCommon.WriteActionTimes();
CommonUtil.Print("成功删除部门:" + deptList.get(i).getStr("name"));
}
delDept(access_token, rOrg.getInt("dingtalk_dept_id"));
DingTalkCommon.WriteActionTimes();
}
public static void delBureauPerson(String accessToken, Record rOrg) throws ApiException {
@ -277,6 +281,7 @@ public class OrgPerson {
String userid = personList.get(i).getStr("userid");
String person_name = personList.get(i).getStr("name");
delPerson(accessToken, Integer.parseInt(userid));
DingTalkCommon.WriteActionTimes();
CommonUtil.Print("成功删除:" + person_name);
}
}

@ -1,7 +1,6 @@
package com.dsideal.FengHuang.DingTalk.Util;
import com.dsideal.FengHuang.Util.CommonUtil;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.taobao.api.ApiException;
@ -9,14 +8,6 @@ import java.util.Date;
import java.util.List;
public class Progress {
public static void finishInit() {
List<Record> list = Db.findAll("t_dingtalk_progress");
for (Record record : list) {
Model.saveLastSyncTime(record.getStr("table_name"));
}
}
public static void syncOrg(String accessToken, Record rOrg) throws ApiException {
Date dt = Model.getLastSyncTime("t_base_organization");
//找出变更信息
@ -65,7 +56,6 @@ public class Progress {
OrgPerson.createPerson(accessToken, dingtalk_dept_id, person_id, person_name, tel, "教师");
CommonUtil.Print("新增人员:" + person_name);
} else {
int dingtalk_dept_id = record.getInt("dingtalk_dept_id");
if (b_use == 1) {
//修改
OrgPerson.updatePerson(accessToken, person_id, person_name);

@ -23,6 +23,7 @@ public class RolePerson {
System.out.println(rsp.getBody());
JSONObject jo = JSONObject.parseObject(rsp.getBody());
long groupId = jo.getLong("groupId");
DingTalkCommon.WriteActionTimes();
return groupId;
}
@ -94,5 +95,4 @@ public class RolePerson {
DingTalkCommon.WriteActionTimes();
}
}
}

@ -1,11 +1,7 @@
# 企业管理员可以直接点击登录钉钉开放平台 -【基本信息】-【开发信息旧版】查看企业的CorpID和SSOsecret。
# 公司ID
corpId=ding0b95901147fc6be0f2c783f7214b6d69
# 每个应用都拥有唯一的AgentId
agentId=2619270936
# AK SK
appKey=dingr94qyhpr8bflyxqz
appSecret=hnxZ93QqkGJpRyBziaR2vlbOPZo1U9eeqj73DfFuFnIxIUHNPbMR2DkIol9oGteh
appKey=dingi9ltnrtnf66tolwk
appSecret=8qk0JG6z2PUFeCH6WwAfJhN9lTwZE0Kifx776ZUn65dkfDrQpVNynamTQp68xRrZ
# user
userName=18946740350
@ -13,9 +9,9 @@ pwd=mdcija780522
# redis ip
redis_ip=10.10.14.199
redis_ip=127.0.0.1
# redis port
redis_port=18890
redis_port=6379
# 数据库信息

@ -1,11 +1,7 @@
# 企业管理员可以直接点击登录钉钉开放平台 -【基本信息】-【开发信息旧版】查看企业的CorpID和SSOsecret。
# 公司ID
corpId=ding0b95901147fc6be0f2c783f7214b6d69
# 每个应用都拥有唯一的AgentId
agentId=2619270936
# AK SK
appKey=dingr94qyhpr8bflyxqz
appSecret=hnxZ93QqkGJpRyBziaR2vlbOPZo1U9eeqj73DfFuFnIxIUHNPbMR2DkIol9oGteh
appKey=dingi9ltnrtnf66tolwk
appSecret=8qk0JG6z2PUFeCH6WwAfJhN9lTwZE0Kifx776ZUn65dkfDrQpVNynamTQp68xRrZ
# user
userName=18946740350
@ -13,9 +9,9 @@ pwd=mdcija780522
# redis ip
redis_ip=10.10.14.199
redis_ip=127.0.0.1
# redis port
redis_port=18890
redis_port=6379
# 数据库信息

Loading…
Cancel
Save