|
@@ -872,28 +872,16 @@ public class FeishuInfoController {
|
|
|
JSONArray departmentArray = departmentInfoArrays;
|
|
|
JSONArray allNeedTodo=new JSONArray();
|
|
|
allNeedTodo.addAll(departmentArray);
|
|
|
-// for (int i = 0; i < departmentArray.size(); i++) {
|
|
|
-// JSONObject ob = departmentArray.getJSONObject(i);
|
|
|
-// System.out.println("ob对象数据"+ob.toJSONString());
|
|
|
-// if(ob.getString("open_department_id")!=null){
|
|
|
-// JSONArray jsonArray = getSubDepartmentList(feishuInfo, ob.getString("open_department_id"));
|
|
|
-// if(jsonArray!=null&&jsonArray.size()>0){
|
|
|
-// allNeedTodo.addAll(jsonArray);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
List<Department> departmentList=new ArrayList<>();
|
|
|
List<DepartmentFeishu> departmentFeishuList=new ArrayList<>();
|
|
|
for (int j = 0; j < allNeedTodo.size(); j++) {
|
|
|
JSONObject ob = allNeedTodo.getJSONObject(j);
|
|
|
String departmentName = String.valueOf(ob.get("name"));
|
|
|
- System.out.println("synchronizationDP========="+departmentName);
|
|
|
String departmentId = String.valueOf(ob.getString("department_id"));
|
|
|
String openDepartmentId = String.valueOf(ob.getString("open_department_id"));
|
|
|
String departmentParentId =String.valueOf(ob.getString("parent_department_id"));
|
|
|
JSONArray leaders = ob.getJSONArray("leaders");
|
|
|
if(!departmentId.equals("0")){
|
|
|
- System.out.println("join===========");
|
|
|
DepartmentFeishu departmentFeishu=new DepartmentFeishu();
|
|
|
departmentFeishu.setCorpid(feishuInfo.getCorpid())
|
|
|
.setName(departmentName)
|
|
@@ -951,7 +939,6 @@ public class FeishuInfoController {
|
|
|
}
|
|
|
}
|
|
|
List<User> newUserList=new ArrayList<>();
|
|
|
- System.out.println("departmentFeishuList========"+departmentFeishuList.toString());
|
|
|
for (DepartmentFeishu departmentFeishu : departmentFeishuList) {
|
|
|
Optional<Department> first = departmentList.stream().filter(dl -> dl.getDepartmentId().equals(departmentFeishu.getSysDeptid())).findFirst();
|
|
|
//获取到当前部门的上级部门
|
|
@@ -967,13 +954,11 @@ public class FeishuInfoController {
|
|
|
}
|
|
|
//处理部门下的人员
|
|
|
JSONArray userInfoWithDepartment=feishuInfoService.getUserInfoWithDepartment(feishuInfo,departmentFeishu.getFeishuOpenDeptid(),null);
|
|
|
- System.out.println("userInfoWithDepartment=========="+userInfoWithDepartment.toJSONString());
|
|
|
for (int m=0;m<userInfoWithDepartment.size(); m++) {
|
|
|
JSONObject userJson = userInfoWithDepartment.getJSONObject(m);
|
|
|
String curUserid = userJson.getString("user_id");
|
|
|
String openUserid = userJson.getString("open_id");
|
|
|
List<String> departments = (List<String>) userJson.get("department_ids");
|
|
|
- System.out.println("user info======:"+userJson.toString());
|
|
|
Optional<User> optional = allUserList.stream().filter(al -> al.getFeishuUserid() != null && al.getFeishuUserid().equals(userJson.getString("open_id"))).findFirst();
|
|
|
//不存在的人员, 进行插入
|
|
|
User user = new User();
|
|
@@ -994,12 +979,10 @@ public class FeishuInfoController {
|
|
|
.setFeishuDeptid(departmentFeishu.getFeishuDeptid())
|
|
|
.setIsActive(userJson.getJSONObject("status").getBoolean("is_activated")?1:0);
|
|
|
String max = departments.get(0);
|
|
|
- System.out.println("maxDept====="+max);
|
|
|
Optional<DepartmentFeishu> dpFs = departmentFeishuList.stream().filter(dl -> dl.getFeishuOpenDeptid().equals(max)).findFirst();
|
|
|
if(dpFs.isPresent()){
|
|
|
Optional<Department> dp = departmentList.stream().filter(dl -> dl.getDepartmentId().equals(dpFs.get().getSysDeptid())).findFirst();
|
|
|
if(dp.isPresent()){
|
|
|
- System.out.println("Set Dept");
|
|
|
user.setDepartmentName(dp.get().getDepartmentName());
|
|
|
user.setDepartmentId(dp.get().getDepartmentId());
|
|
|
user.setDepartmentCascade(convertDepartmentIdToCascade(dp.get().getDepartmentId(),departmentList));
|
|
@@ -1014,7 +997,6 @@ public class FeishuInfoController {
|
|
|
//todo:处理人员
|
|
|
//获取应用可用范围内的人员
|
|
|
JSONArray userArrays = (JSONArray) availableRange.get("user_ids");
|
|
|
- System.out.println("userArrays==========="+userArrays.toJSONString());
|
|
|
if(userArrays!=null&&userArrays.size()>0){
|
|
|
for (int i = 0; i < userArrays.size(); i++) {
|
|
|
String uid = userArrays.getString(i);
|
|
@@ -1025,13 +1007,12 @@ public class FeishuInfoController {
|
|
|
if(optional.isPresent()){
|
|
|
user.setId(optional.get().getId());
|
|
|
}else {
|
|
|
- user.setId(SnowFlake.nextId()+"");
|
|
|
+ user.setId(SnowFlake.nextId()+"")
|
|
|
+ .setRoleId(role.getId())//默认普通员工
|
|
|
+ .setRoleName(role.getRolename());
|
|
|
}
|
|
|
JSONObject userOb = feishuInfoService.getUserInfo(feishuInfo, uid);
|
|
|
- user.setRoleId(role.getId())
|
|
|
- .setRoleId(role.getId())//默认普通员工
|
|
|
- .setRoleName(role.getRolename())
|
|
|
- .setCompanyId(feishuInfo.getCompanyId())
|
|
|
+ user.setCompanyId(feishuInfo.getCompanyId())
|
|
|
.setName(userOb.getString("name"))
|
|
|
.setFeishuUserid(userOb.getString("open_id"))
|
|
|
.setColor(ColorUtil.randomColor())
|