Browse Source

Merge remote-tracking branch 'origin/20210512_yw_check' into 20210512_yw_check

rengb 4 years ago
parent
commit
6ad7eb8918

+ 1 - 0
src/main/java/com/diagbot/facade/SysDictionaryFacade.java

@@ -60,4 +60,5 @@ public class SysDictionaryFacade extends SysDictionaryInfoServiceImpl {
         }
         return res;
     }
+
 }

+ 34 - 24
src/main/java/com/diagbot/facade/SysUserFacade.java

@@ -4,16 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.client.AuthServiceClient;
-import com.diagbot.dto.BasDeptInfoDTO;
-import com.diagbot.dto.BasHospitalInfoDTO;
-import com.diagbot.dto.JwtDTO;
-import com.diagbot.dto.LoginDTO;
-import com.diagbot.dto.SysRoleDTO;
-import com.diagbot.dto.SysUserDeptDTO;
-import com.diagbot.dto.SysUserPermissionDTO;
-import com.diagbot.dto.SysUserQueryDTO;
-import com.diagbot.dto.SysUserRoleDTO;
-import com.diagbot.dto.UserLoginDTO;
+import com.diagbot.dto.*;
 import com.diagbot.entity.BasHospitalInfo;
 import com.diagbot.entity.JWT;
 import com.diagbot.entity.JwtStore;
@@ -90,6 +81,8 @@ public class SysUserFacade extends SysUserServiceImpl {
     private SysUserHospitalFacade sysUserHospitalFacade;
     @Autowired
     private SysUserRoleFacade sysUserRoleFacade;
+    @Autowired
+    private SysDictionaryFacade sysDictionaryFacade;
 
     /**
      * 获取jwt
@@ -152,10 +145,20 @@ public class SysUserFacade extends SysUserServiceImpl {
         /***
          * 未加密密码复杂度判断
          */
-/*        Boolean passwordRegular = passwordRegular(password);
-        if(!passwordRegular){
-            data.setPasswordComplexity("密码复杂度过低,请及时修改密码");
-        }*/
+        //获取用户医院id
+//        String hospitalID = SysUserUtils.getCurrentHospitalID();
+//        Long id = user.getId();
+//        QueryWrapper<SysUserHospital> UserHospitalQueryWrapper = new QueryWrapper<>();
+//        UserHospitalQueryWrapper
+//                .eq("user_id", id)
+//                .eq("is_deleted", IsDeleteEnum.N.getKey());
+//        SysUserHospital userHospital = sysUserHospitalFacade.getOne(UserHospitalQueryWrapper, false);
+//        Long hospitalId = userHospital.getHospitalId();
+//        String idStr = String.valueOf(hospitalId);
+//        Boolean passwordRegular = passwordRegular(password,idStr);
+//        if(!passwordRegular){
+//            data.setPasswordComplexity("密码复杂度过低,请及时修改密码");
+//        }
         return data;
     }
 
@@ -264,10 +267,6 @@ public class SysUserFacade extends SysUserServiceImpl {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL,
                     "原密码和新密码不能相同");
         }
-/*        Boolean regularBoolean = passwordRegular(modifyPassword);
-        if(!regularBoolean){
-            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入正确格式的新密码");
-        }*/
         String userId = SysUserUtils.getCurrentPrincipleID();
         SysUser user = this.getOne(new QueryWrapper<SysUser>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -276,13 +275,16 @@ public class SysUserFacade extends SysUserServiceImpl {
         if (null == user) {
             throw new CommonException(ServiceErrorCode.USER_NOT_FOUND);
         }
-
         PasswordEncoder passwordEncoder
                 = PasswordEncoderFactories.createDelegatingPasswordEncoder();
         if (!passwordEncoder.matches(password, user.getPassword())) {
             throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "原密码错误");
         }
-
+//        String hospitalID = SysUserUtils.getCurrentHospitalID();
+//        Boolean regularBoolean = passwordRegular(modifyPassword,hospitalID);
+//        if(!regularBoolean){
+//            throw new CommonException(CommonErrorCode.PARAM_IS_ERROR, "请输入正确格式的新密码");
+//        }
         String entryPassword = passwordEncoder.encode(modifyPassword);
         user.setPassword(entryPassword);
         user.setGmtModified(DateUtil.now());
@@ -292,13 +294,21 @@ public class SysUserFacade extends SysUserServiceImpl {
     }
 
     /**
-     * 未加密密文正则表达式  至少8个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符:
+     * 未加密密文正则表达式  至少8个字符,1个大写字母,1个小写字母,1个数字和1个特殊字符:
      * @param password
      * @return
      */
-    public Boolean passwordRegular(String password){
-        String regex="^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&]{8,}";
-        boolean check=password.matches(regex);
+    public Boolean passwordRegular(String password,String hospitalId){
+        //获取字点表中存储的正则表达式   "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@$!%*?&])[A-Za-z\\d$@$!%*?&]{8,}"
+        boolean check=true;
+        Map<String, Map<String, String>> dictionaryWithKey = sysDictionaryFacade.getDictionaryWithKey();
+        if(dictionaryWithKey!=null){
+            Map<String, String> stringStringMap = dictionaryWithKey.get("30");
+            if(stringStringMap!=null) {
+                String regular = stringStringMap.get(hospitalId);
+                check = password.matches(regular);
+            }
+        }
         return check;
     }
     /**