From c0f21a9745daa3afef19110025bdee9d0ba00338 Mon Sep 17 00:00:00 2001 From: ludc <2870569285@qq.com> Date: 星期日, 26 三月 2023 01:29:15 +0800 Subject: [PATCH] 更新部分后端代码 --- Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java | 35 ++++++++++++++++++++++++++--------- 1 files changed, 26 insertions(+), 9 deletions(-) diff --git a/Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java b/Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java index 5138b90..f10a077 100644 --- a/Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java +++ b/Source/BladeX/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java @@ -293,7 +293,6 @@ @Override public boolean updatePassword(Long userId, String oldPassword, String newPassword, String newPassword1) { - String hex = DigestUtil.hex(DigestUtils.md5DigestAsHex((newPassword1).getBytes())); User user = getById(userId); if (!newPassword.equals(newPassword1)) { throw new ServiceException("璇疯緭鍏ユ纭殑纭瀵嗙爜!"); @@ -303,19 +302,37 @@ } //鑾峰彇鐢ㄦ埛閲囩敤鐨勫瘑鐮佺瓥鐣� Strategy strategy = sysClient.getByUserId(userId).getData(); - String resException = "瀵嗙爜涓繀椤诲惈鏈夈��"+strategy.getCombinationIds()+"銆戜腑鐨勩��"+strategy.getRequiredType()+"銆戠瀵嗙爜缁勫悎鏂瑰紡锛屼笖瀵嗙爜闀垮害蹇呴』鍦ㄣ��"+strategy.getMinPwdLen()+"-"+strategy.getMaxPwdLen()+"銆戣寖鍥村唴"; //瀵嗙爜闀垮害鏍¢獙 if(newPassword1.length() < strategy.getMinPwdLen() || newPassword1.length() > strategy.getMaxPwdLen()){ + throw new ServiceException("瀵嗙爜涓繀椤诲惈鏈夈��"+strategy.getCombinationNames()+"銆戜腑鐨勩��"+strategy.getRequiredType()+"銆戠瀵嗙爜缁勫悎鏂瑰紡锛屼笖瀵嗙爜闀垮害蹇呴』鍦ㄣ��"+strategy.getMinPwdLen()+"-"+strategy.getMaxPwdLen()+"銆戣寖鍥村唴"); + } + List<String> regexs = sysClient.getRegexByList(Arrays.asList(strategy.getCombinationIds().split(","))).getData(); + //鍒ゆ柇鏄惁婊¤冻缁勫悎鏂瑰紡涓殑蹇呭~绉嶇被鏁� + int reqType = 0; + for (int i = 0; i < regexs.size(); i++) { + if(reqType>=strategy.getRequiredType()){ + break; + } + if(!Func.isEmpty(RegexUtil.findResult(regexs.get(i),newPassword1))){ + reqType++; + } + } + String resException = "瀵嗙爜涓繀椤诲惈鏈夈��"+strategy.getCombinationNames()+"銆戜腑鐨勩��"+strategy.getRequiredType()+"銆戠绫诲瀷锛岃閲嶆柊杈撳叆瀵嗙爜锛�"; + if(reqType<strategy.getRequiredType()){ throw new ServiceException(resException); } - //鏌ヨ瀵嗙爜绛栫暐鍙栧�� + // 鏄惁灞炰簬缁勫悎鏂瑰紡涓殑绫诲瀷 String regex = sysClient.getRegex(Arrays.asList(strategy.getCombinationIds().split(","))).getData(); - System.out.println("===============regex================"+regex); - regex = "^"+regex+"$"; - String result = RegexUtil.findResult(regex, newPassword); - System.out.println(result); - return this.update(Wrappers.<User>update().lambda().set(User::getPassword, DigestUtil.hex(DigestUtils.md5DigestAsHex((newPassword1).getBytes()))).eq(User::getId, userId)); - //return true; + regex = "^"+regex+"{"+strategy.getRequiredType()+",}$"; + boolean result = RegexUtil.find(regex, newPassword1); + if(!result){ + throw new ServiceException(resException); + } + //淇敼瀵嗙爜鍚屾椂锛屾敼鍙樼敤鎴蜂俊鎭腑鐨勫瘑鐮佷慨鏀圭姸鎬佸瓧娈� + return this.update(Wrappers.<User>update().lambda() + .set(User::getPassword, DigestUtil.hex(DigestUtils.md5DigestAsHex((newPassword1).getBytes()))) + .set(User::getStrategyUpdateStatus,CommonConstant.TOP_PARENT_ID) + .eq(User::getId, userId)); } @Override -- Gitblit v1.9.3