From 626028e5865122c43d97156d2cb221b751e5f18d Mon Sep 17 00:00:00 2001 From: gdg <764716047@qq.com> Date: 星期三, 06 一月 2021 13:39:49 +0800 Subject: [PATCH] add --- src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 63 ++++++++++++++++++++++++++++--- 1 files changed, 57 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java index 5620c15..eccbef6 100644 --- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java +++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java @@ -189,16 +189,31 @@ sysUser.setName(valuesList.get(3));//姓名 sysUser.setAccount(valuesList.get(4));//账号 - String PW_PATTERN = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$"; + String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; if (!valuesList.get(5).matches(PW_PATTERN)){ errorMsg += "第"+i+"行,密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"; } - sysUser.setPassword(MD5Utils.encode((int)Double.parseDouble(valuesList.get(5))+""));//密码 + sysUser.setPassword(MD5Utils.encode(valuesList.get(5))+"");//密码 + //valuesList.get(8) id卡号检查 + if (valuesList.get(8) != null && valuesList.get(8).length()>0){ + //大写转换 + String idCardUpper = valuesList.get(8).trim().toUpperCase(); + //8位和20位下8位才做补齐20位,否则提示输入id卡号8位或者20位 + if (idCardUpper.length() == 8 ||idCardUpper.length() == 20) { + if (idCardUpper.length() == 8){ + //8位补齐20位,否则不做操作 + String idCard = "E0E01E000A" + idCardUpper + "01"; + sysUser.setIdCard(idCard);//id卡号 + } + }else{ + FacesUtils.warn("第"+i+"行,id卡号需要8位或者20位"); + return; + } + } sysUser.setPhone(valuesList.get(6));//电话 sysUser.setEmail(valuesList.get(7));//邮箱 - sysUser.setIdCard(valuesList.get(8));//id卡号 sysUser.setPoint((int)Double.parseDouble(valuesList.get(9)));//分数 sysUser.setRoleId(valuesList.get(10));//角色 if(valuesList.get(11).equals("是")){ @@ -279,13 +294,13 @@ return null; } - String PW_PATTERN = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$"; + String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; if (!this.newPassword.matches(PW_PATTERN)){ FacesUtils.warn("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"); return null; } - this.sysUser.setName(username); +// this.sysUser.setName(username); this.sysUser.setPassword(MD5Utils.encode(this.newPassword)); this.sysUserService.updateSysUser(sysUser); this.newPassword = null; @@ -293,6 +308,7 @@ this.newPasswordSecond = null; FacesUtils.info("修改成功,请重新登录!"); RequestContext.getCurrentInstance().execute("PF('dialogPassword').hide()"); + RequestContext.getCurrentInstance().execute("PF('changePassword').hide()"); this.getSubject().logout(); return Constants.PAGE_LOGIN + Constants.REDIRECT; } @@ -335,6 +351,24 @@ } // 检查idCard + if (this.sysUser.getIdCard() != null && this.sysUser.getIdCard().length()>0){ + String idCardUpper = sysUser.getIdCard().trim().toUpperCase(); + //8位和20位下8位才做补齐20位,否则提示输入id卡号8位或者20位 + if (idCardUpper.length() == 8 ||idCardUpper.length() == 20) { + if (idCardUpper.length() == 8){ + //8位补齐20位,否则不做操作 + this.sysUser.setIdCard("E0E01E000A" + idCardUpper + "01"); + }else{ + //20位 + this.sysUser.setIdCard(idCardUpper); + } + }else{ + FacesUtils.warn("id卡号8位或者20位"); + return; + } + } + + if (!StringUtils.isEmpty(this.sysUser.getIdCard()) && this.sysUserService.isSysUserExist(null, null, this.sysUser.getIdCard(), null)) { FacesUtils.warn("ID卡号已存在。"); return; @@ -343,7 +377,7 @@ sysUser.setProjectId(null); } - String PW_PATTERN = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$"; + String PW_PATTERN = "(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[~!@#$%^&*_.]).{8,}"; if (!sysUser.getPassword().matches(PW_PATTERN)){ FacesUtils.warn("密码必须8位以上,并且包含大小写字母、数字、特殊符号三种以上"); return; @@ -374,6 +408,23 @@ } // 检查idCard + if (this.sysUser.getIdCard() != null && this.sysUser.getIdCard().length()>0){ + String idCardUpper = sysUser.getIdCard().trim().toUpperCase(); + //8位和20位下8位才做补齐20位,否则提示输入id卡号8位或者20位 + if (idCardUpper.length() == 8 ||idCardUpper.length() == 20) { + if (idCardUpper.length() == 8){ + //8位补齐20位,否则不做操作 + this.sysUser.setIdCard("E0E01E000A" + idCardUpper + "01"); + }else{ + //20位 + this.sysUser.setIdCard(idCardUpper); + } + }else{ + FacesUtils.warn("id卡号8位或者20位"); + return; + } + } + if(this.sysUser.getIdCard()==null || this.sysUser.getIdCard()==""){ }else { -- Gitblit v1.9.2