|
@@ -634,7 +634,7 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
//同步部门数据
|
|
|
adjustDepartment(dingding);
|
|
|
//从temp表调整人员到user表
|
|
|
- adjustUserFromTemp(dingding);
|
|
|
+ adjustUserFromTemp(dingding, dingding.getCorpid().equals("dinga36903d5ec45afca"));
|
|
|
} else {
|
|
|
System.err.println("获取通讯录范围出错:" + json.toJSONString());
|
|
|
}
|
|
@@ -676,6 +676,7 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
if (dept.getDdDeptid() != null) {
|
|
|
Optional<DepartmentDingding> first = dingdingDeptList.stream().filter(ddpt -> ddpt.getDdDeptid().equals(dept.getDdDeptid())).findFirst();
|
|
|
if (first.isPresent()) {
|
|
|
+
|
|
|
boolean changed = false;
|
|
|
DepartmentDingding departmentDingding = first.get();
|
|
|
if (departmentDingding.getDdParentid() == 1) {
|
|
@@ -711,7 +712,7 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void adjustUserFromTemp(CompanyDingding dingding) {
|
|
|
+ private void adjustUserFromTemp(CompanyDingding dingding, boolean syncUserDept) {
|
|
|
SysRole defaultRole = null;
|
|
|
List<SysRole> droleList = sysRoleMapper.selectList(new QueryWrapper<SysRole>().eq("company_id", dingding.getCompanyId()).eq("is_default", 1));
|
|
|
if (droleList.size() > 0) {
|
|
@@ -761,10 +762,22 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
upUser.setJobNumber(duser.getJobNumber());
|
|
|
changed = true;
|
|
|
}
|
|
|
+ if (syncUserDept) {
|
|
|
+ //同步所属部门
|
|
|
+ int dpid = duser.getDdDeptid();
|
|
|
+ if (dpid != 1) {
|
|
|
+ Optional<Department> first = allDeptList.stream().filter(item -> item.getDdDeptid() != null && item.getDdDeptid().equals(dpid)).findFirst();
|
|
|
+ if (first.isPresent()) {
|
|
|
+ Department department = first.get();
|
|
|
+ upUser.setDepartmentId(department.getDepartmentId());
|
|
|
+ upUser.setDepartmentCascade(convertDepartmentIdToCascade(department.getDepartmentId()));
|
|
|
+ changed = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
if (changed) {
|
|
|
- updateUserList.add(oldUser);
|
|
|
+ updateUserList.add(upUser);
|
|
|
}
|
|
|
- //TODO: 所属部门的变更,需要用户自行确认
|
|
|
}
|
|
|
}
|
|
|
if (newUserList.size() > 0) {
|
|
@@ -1304,7 +1317,9 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
departmentDingding.setName(dept.getString("name"));
|
|
|
departmentDingding.setDdParentid(dept.getInteger("parent_id"));
|
|
|
Department department = new Department();
|
|
|
-
|
|
|
+ if (departmentDingding.getDdDeptid() == 661842181) {
|
|
|
+ System.out.println("=========zfind 661842181"+departmentDingding.getName());
|
|
|
+ }
|
|
|
department.setCompanyId(companyId);
|
|
|
//检查,根部门是公司名称,不需要创建部门
|
|
|
if (departmentDingding.getDdDeptid() != 1) {
|
|
@@ -1358,7 +1373,9 @@ public class DingDingServiceImpl implements DingDingService {
|
|
|
departmentDingding.setDdDeptid(dept.getInteger("dept_id"));
|
|
|
departmentDingding.setName(dept.getString("name"));
|
|
|
departmentDingding.setDdParentid(dept.getInteger("parent_id"));
|
|
|
-
|
|
|
+ if (departmentDingding.getDdDeptid() == 661842181) {
|
|
|
+ System.out.println("=========zfind 661842181"+departmentDingding.getName());
|
|
|
+ }
|
|
|
synchronized (deptLock) {
|
|
|
List<DepartmentDingding> departmentDingdings = departmentDingdingMapper.selectList(new QueryWrapper<DepartmentDingding>()
|
|
|
.eq("corpid", corpid)
|