Explorar o código

修复成员的部门层级更新bug

seyason %!s(int64=2) %!d(string=hai) anos
pai
achega
8e7dfb9926

+ 20 - 18
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -553,7 +553,7 @@ public class WeiXinCorpController {
                                 if (sysDept != null) {
                                     userUpdate.setDepartmentId(sysDept.getDepartmentId());
                                     List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
-                                    userUpdate.setDepartmentCascade(convertDepartmentIdToCascade(user.getDepartmentId(), allDeptList));
+                                    userUpdate.setDepartmentCascade(convertDepartmentIdToCascade(userUpdate.getDepartmentId(), allDeptList));
                                 }
                                 userMapper.updateById(userUpdate);
                                 System.out.println("======关注时更新人员======");
@@ -681,7 +681,7 @@ public class WeiXinCorpController {
                                 if (sysDept != null) {
                                     userUpdate.setDepartmentId(sysDept.getDepartmentId());
                                     List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", companyId));
-                                    userUpdate.setDepartmentCascade(convertDepartmentIdToCascade(user.getDepartmentId(), allDeptList));
+                                    userUpdate.setDepartmentCascade(convertDepartmentIdToCascade(userUpdate.getDepartmentId(), allDeptList));
                                 }
                                 userMapper.updateById(userUpdate);
                                 System.out.println("======更新人员======");
@@ -1054,20 +1054,21 @@ public class WeiXinCorpController {
                                 Department sysDept = departmentMapper.selectOne(new QueryWrapper<Department>().eq("company_id", companyId).eq("corpwx_deptid", curUserWXDeptid));
 
                                 User user = userMapper.selectOne(new QueryWrapper<User>().eq("company_id", companyId).eq("corpwx_userid", openUserId));
-                                User changeUser = new User();
-                                changeUser.setId(user.getId());
-
-                                boolean change = false;
-                                //姓名变化
-                                if (!user.getName().equals(userObj.getString("name"))) {
-                                    changeUser.setName(userObj.getString("name"));
-                                    change = true;
-                                }
-                                if (sysDept != null && !user.getDepartmentId().equals(sysDept.getDepartmentId())) {
-                                    changeUser.setDepartmentId(sysDept.getDepartmentId());
-                                    change = true;
-                                }
-                                //暂不处理直属领导
+                                if (user != null) {
+                                    User changeUser = new User();
+                                    changeUser.setId(user.getId());
+
+                                    boolean change = false;
+                                    //姓名变化
+                                    if (!user.getName().equals(userObj.getString("name"))) {
+                                        changeUser.setName(userObj.getString("name"));
+                                        change = true;
+                                    }
+                                    if (sysDept != null && !user.getDepartmentId().equals(sysDept.getDepartmentId())) {
+                                        changeUser.setDepartmentId(sysDept.getDepartmentId());
+                                        change = true;
+                                    }
+                                    //暂不处理直属领导
 //                                if (userObj.containsKey("direct_leader") && userObj.getJSONArray("direct_leader").size() > 0) {
 //                                    String directLeader = userObj.getJSONArray("direct_leader").getString(0);
 //                                    User leader = userMapper.selectOne(new QueryWrapper<User>().eq("company_id", companyId).eq("corpwx_userid", directLeader));
@@ -1076,8 +1077,9 @@ public class WeiXinCorpController {
 //                                        change = true;
 //                                    }
 //                                }
-                                if (change) {
-                                    userMapper.updateById(changeUser);
+                                    if (change) {
+                                        userMapper.updateById(changeUser);
+                                    }
                                 }
                             }
                         }