|
@@ -690,22 +690,26 @@ public class FeishuInfoController {
|
|
|
Optional<Object> first = leaders.stream().filter(l -> ((JSONObject) l).getIntValue("leaderType") == 1).findFirst();
|
|
|
if(first.isPresent()){
|
|
|
JSONObject firstOb = (JSONObject) first.get();
|
|
|
- Optional<User> leaderID = allUserList.stream().filter(ul -> ul.getFeishuUserid().equals(firstOb.getString("leaderID"))).findFirst();
|
|
|
- if(leaderID.isPresent()){
|
|
|
- department.setManagerId(leaderID.get().getId());
|
|
|
+ if(firstOb.getString("leaderID")!=null){
|
|
|
+ Optional<User> leaderID = allUserList.stream().filter(ul ->ul.getFeishuUserid()!=null&& ul.getFeishuUserid().equals(firstOb.getString("leaderID"))).findFirst();
|
|
|
+ if(leaderID.isPresent()){
|
|
|
+ department.setManagerId(leaderID.get().getId());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
//todo:处理次要负责人
|
|
|
List<Object> othObs = leaders.stream().filter(l -> ((JSONObject) l).getIntValue("leaderType") == 2).collect(Collectors.toList());
|
|
|
for (Object othOb : othObs) {
|
|
|
JSONObject oth = (JSONObject) othOb;
|
|
|
- Optional<User> leaderID = allUserList.stream().filter(ul -> ul.getFeishuUserid().equals(oth.getString("leaderID"))).findFirst();
|
|
|
- if(leaderID.isPresent()){
|
|
|
- DepartmentOtherManager departmentOtherManager=new DepartmentOtherManager();
|
|
|
- departmentOtherManager.setCompanyId(feishuInfo.getCompanyId());
|
|
|
- departmentOtherManager.setDepartmentId(department.getDepartmentId());
|
|
|
- departmentOtherManager.setOtherManagerId(leaderID.get().getId());
|
|
|
- odList.add(departmentOtherManager);
|
|
|
+ if(oth.getString("leaderID")!=null){
|
|
|
+ Optional<User> leaderID = allUserList.stream().filter(ul ->ul.getFeishuUserid()!=null&&ul.getFeishuUserid().equals(oth.getString("leaderID"))).findFirst();
|
|
|
+ if(leaderID.isPresent()){
|
|
|
+ DepartmentOtherManager departmentOtherManager=new DepartmentOtherManager();
|
|
|
+ departmentOtherManager.setCompanyId(feishuInfo.getCompanyId());
|
|
|
+ departmentOtherManager.setDepartmentId(department.getDepartmentId());
|
|
|
+ departmentOtherManager.setOtherManagerId(leaderID.get().getId());
|
|
|
+ odList.add(departmentOtherManager);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -878,22 +882,26 @@ public class FeishuInfoController {
|
|
|
Optional<Object> first = leaders.stream().filter(l -> ((JSONObject) l).getIntValue("leaderType") == 1).findFirst();
|
|
|
if(first.isPresent()){
|
|
|
JSONObject firstOb = (JSONObject) first.get();
|
|
|
- Optional<User> leaderID = allUserList.stream().filter(ul -> ul.getFeishuUserid().equals(firstOb.getString("leaderID"))).findFirst();
|
|
|
- if(leaderID.isPresent()){
|
|
|
- department.setManagerId(leaderID.get().getId());
|
|
|
+ if(firstOb.getString("leaderID")!=null){
|
|
|
+ Optional<User> leaderID = allUserList.stream().filter(ul ->ul.getFeishuUserid()!=null&& ul.getFeishuUserid().equals(firstOb.getString("leaderID"))).findFirst();
|
|
|
+ if(leaderID.isPresent()){
|
|
|
+ department.setManagerId(leaderID.get().getId());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
//todo:处理次要负责人
|
|
|
List<Object> othObs = leaders.stream().filter(l -> ((JSONObject) l).getIntValue("leaderType") == 2).collect(Collectors.toList());
|
|
|
for (Object othOb : othObs) {
|
|
|
JSONObject oth = (JSONObject) othOb;
|
|
|
- Optional<User> leaderID = allUserList.stream().filter(ul -> ul.getFeishuUserid().equals(oth.getString("leaderID"))).findFirst();
|
|
|
- if(leaderID.isPresent()){
|
|
|
- DepartmentOtherManager departmentOtherManager=new DepartmentOtherManager();
|
|
|
- departmentOtherManager.setCompanyId(feishuInfo.getCompanyId());
|
|
|
- departmentOtherManager.setDepartmentId(department.getDepartmentId());
|
|
|
- departmentOtherManager.setOtherManagerId(leaderID.get().getId());
|
|
|
- odList.add(departmentOtherManager);
|
|
|
+ if(oth.getString("leaderID")!=null){
|
|
|
+ Optional<User> leaderID = allUserList.stream().filter(ul ->ul.getFeishuUserid()!=null&&ul.getFeishuUserid().equals(oth.getString("leaderID"))).findFirst();
|
|
|
+ if(leaderID.isPresent()){
|
|
|
+ DepartmentOtherManager departmentOtherManager=new DepartmentOtherManager();
|
|
|
+ departmentOtherManager.setCompanyId(feishuInfo.getCompanyId());
|
|
|
+ departmentOtherManager.setDepartmentId(department.getDepartmentId());
|
|
|
+ departmentOtherManager.setOtherManagerId(leaderID.get().getId());
|
|
|
+ odList.add(departmentOtherManager);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -965,13 +973,15 @@ 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++) {
|
|
|
- JSONObject userOb = userArrays.getJSONObject(i);
|
|
|
- boolean b = allUserList.stream().anyMatch(al -> al.getFeishuUserid() != null && al.getFeishuUserid().equals(userOb.getString("open_id")));
|
|
|
+ String uid = userArrays.getString(i);
|
|
|
+ boolean b = allUserList.stream().anyMatch(al -> al.getFeishuUserid() != null && al.getFeishuUserid().equals(uid));
|
|
|
if(!b){
|
|
|
//不存在的人员, 进行插入
|
|
|
User user = new User();
|
|
|
+ JSONObject userOb = feishuInfoService.getUserInfo(feishuInfo, uid);
|
|
|
user.setId(SnowFlake.nextId()+"")
|
|
|
.setRoleId(role.getId())//默认普通员工
|
|
|
.setRoleName(role.getRolename())
|