Преглед изворни кода

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Lijy пре 1 година
родитељ
комит
898bed59f0

+ 4 - 9
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java

@@ -342,17 +342,12 @@ public class UserController {
 
 
     @RequestMapping(value = "/loginForAd", method = RequestMethod.POST)
-    public HttpRespMsg loginForAd(@RequestParam String username, @RequestParam String passWord) {
+    public HttpRespMsg loginForAd(@RequestParam String username, @RequestParam String password) {
         HttpRespMsg httpRespMsg=new HttpRespMsg();
-        User user = userService.getOne(new QueryWrapper<User>().eq("phone", username+"@"+dcFirst+"."+dcSecond));
         if(username.equals("sysadmin")){
-            if(user!=null){
-                return loginByUserId(user.getId());
-            }else {
-                httpRespMsg.setError("账号不存在");
-                return httpRespMsg;
-            }
+             return loginAdmin(username,password);
         }
+        User user = userService.getOne(new QueryWrapper<User>().eq("phone", username+"@"+dcFirst+"."+dcSecond));
         LdapContext ldapContext = null;
         Hashtable<String, Object> env = new Hashtable<String, Object>();
         env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
@@ -361,7 +356,7 @@ public class UserController {
         //用户名称,cn,ou,dc 分别:用户,组,域
         env.put(Context.SECURITY_PRINCIPAL, username+"@"+dcFirst+"."+dcSecond);
         //用户密码 cn 的密码
-        env.put(Context.SECURITY_CREDENTIALS, passWord);
+        env.put(Context.SECURITY_CREDENTIALS, password);
         //url 格式:协议://ip:端口/组,域   ,直接连接到域或者组上面
         env.put(Context.PROVIDER_URL,ldapUrl);
 //        //协议

+ 23 - 11
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -2955,6 +2955,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         //域部门节点
         String searchBase = "DC="+dcFirst+",DC="+dcSecond;
+        //String searchBase = "OU=my(组织架构名称),DC=test,DC=com";
         //搜索条件
         String searchFilter = "objectclass=organizationalUnit";
         //String searchFilter = "(&(objectclass=organizationalUnit)(|(name=名称1)(name=名称2)))"; //查询部门,并且部门名称等于名称1或者名称2
@@ -3003,7 +3004,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         String searchBase = "DC="+dcFirst+",DC="+dcSecond;
         // 创建搜索控制器
         SearchControls searchCtls = new SearchControls();
-        String[]  returnedAttrs={"givenName","name","distinguishedName","objectGUID", "objectCategory", "logonCount","sAMAccountName","userPrincipalName"};
+        String[]  returnedAttrs={"givenName","name","distinguishedName","userAccountControl","objectGUID", "objectCategory", "logonCount","sAMAccountName","userPrincipalName"};
         searchCtls.setReturningAttributes(returnedAttrs); //设置指定返回的字段,不设置则返回全部
         //  设置搜索范围 深度
         searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
@@ -3063,7 +3064,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 .setRoleId(smanager.getId())
                 .setRoleName(smanager.getRolename())
                 .setName("sysadmin")
-                .setPhone("sysadmin@"+dcFirst+dcSecond)
+                .setPhone("sysadmin@"+dcFirst+"."+dcSecond)
                 .setPassword(MD5Util.getPassword("000000"))
                 .setColor(ColorUtil.randomColor())
                 .setCompanyId(company.getId());
@@ -3222,20 +3223,31 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             Department department=new Department();
             department.setDepartmentName(dept.getString("name"))
                     .setCompanyId(company.getId());
-            String canonicalName = dept.getString("canonicalName");
-            String[] split = canonicalName.split("/");
-            if(split.length>2){
-                String s = split[split.length - 2];
-                Department one = departmentMapper.selectOne(new QueryWrapper<Department>().eq("department_name", s).eq("company_id", company.getId()));
-                if(one!=null&&Optional.of(one).isPresent()){
-                    department.setSuperiorId(one.getDepartmentId());
-                }
-            }
             departmentMapper.insert(department);
         }
         List<Department> departmentList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", company.getId()));
+        for (JSONObject deptArray : deptArrays) {
+            String canonicalName = deptArray.getString("canonicalName");
+            Optional<Department> first = departmentList.stream().filter(dl -> dl.getDepartmentName().equals(deptArray.getString("name"))).findFirst();
+            if(first.isPresent()){
+                String[] split = canonicalName.split("/");
+                if(split.length>2){
+                    String s = split[split.length - 2];
+                    Department one = departmentMapper.selectOne(new QueryWrapper<Department>().eq("department_name", s).eq("company_id", company.getId()));
+                    if(one!=null&&Optional.of(one).isPresent()){
+                        first.get().setSuperiorId(one.getDepartmentId());
+                    }
+                }
+                departmentMapper.updateById(first.get());
+            }
+        }
         List<JSONObject> userArrays = getUser();
+        Integer[] ints = {514, 546, 66050, 66080, 66082};
+        List<Integer> disable = Arrays.asList(ints);
         for (JSONObject user : userArrays) {
+            if(disable.contains(user.getIntValue("userAccountControl"))){
+                continue;
+            }
             User u=new User();
             u.setId(SnowFlake.nextId()+"")
                     .setName(user.getString("name"))

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/application-meenyi.yml

@@ -105,6 +105,7 @@ referer:
   refererDomain:
     - localhost
     - mytime.ttkuaiban.com
+    - 172.10.21.185
 
 ##actuator健康检查配置
 management: