Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java
@@ -5,9 +5,7 @@ import com.vci.frameworkcore.pagemodel.SmUserVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.util.Collection; import java.util.List; @@ -196,7 +194,7 @@ * @param password 新的密码 * @param confirmPassword 确认密码 */ void changePassword(String userOid, String password, String confirmPassword) throws VciBaseException; void changePassword(String userOid, String password, String confirmPassword) throws PLException; /** * 更新用户的密码错误次数 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java
@@ -273,7 +273,7 @@ } //判断前端是否未提交,是否默认字段 if(Func.isEmpty(strategy.getDefaultFlag())){ strategy.setDefaultFlag(0); strategy.setDefaultFlag("false"); } } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java
@@ -1027,15 +1027,26 @@ @Override @Transactional(rollbackFor = Exception.class) public void changePassword(String userOid, String password, String confirmPassword) throws VciBaseException { String confirmPassword) throws PLException { WebUtil.alertNotNull(userOid,"用户主键",password,"密码",confirmPassword,"确认密码"); if(!password.equals(confirmPassword)){ throw new VciBaseException("密码和确认密码不相等"); } SmUserVO smUserVO = getUserByUserOid(userOid); if(Func.isEmpty(smUserVO)){ throw new VciBaseException("当前修改的用户不存在!"); } //TODO:校验密码是否符合策略 String error = platformClientUtil.getFrameworkService().checkPasswordStrategyByUserId(smUserVO.getId(), password,null); if (!StringUtils.isBlank(error)) { throw new VciBaseException("当前设置的密码,密码策略校验未通过"); } ThreeDES des = new ThreeDES();// 实例化一个对�? des.getKey("daliantan0v0");// 生成密匙 String encPassword = des.getEncString(password); String sql = "update pluser set plpassword = '" + encPassword + "' where pluid = '" + userOid.trim() + "'"; //修改密码的同时需要将密码修改时间也更新 String sql = "update pluser set plpassword = '" + encPassword + "' plpwdupdatetime = '"+ System.currentTimeMillis() +"' where pluid = '" + userOid.trim() + "'"; try { platformClientUtil.getBOFactoryService().executeUpdateSql(sql); } catch (PLException vciError) { @@ -1213,8 +1224,8 @@ } //根据当前创建这个用户的人所绑定密码策略来进行密码校验 try { String userName = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); String error = platformClientUtil.getFrameworkService().checkPasswordStrategyByUserId(userName, smUserDTO.getPassword(),null); String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); String error = platformClientUtil.getFrameworkService().checkPasswordStrategyByUserId(userId, smUserDTO.getPassword(),null); if (!StringUtils.isBlank(error)) { throw new VciBaseException("当前设置的密码,密码策略校验未通过"); } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java
@@ -1,10 +1,10 @@ package com.vci.frameworkcore.controller; import com.vci.corba.common.PLException; import com.vci.frameworkcore.compatibility.SmUserQueryServiceI; import com.vci.frameworkcore.constant.FrameWorkLangCodeConstant; import com.vci.frameworkcore.model.dto.SmUserDTO; import com.vci.frameworkcore.pagemodel.SmUserVO; import com.vci.starter.web.annotation.controller.VciUnCheckRight; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.*; import com.vci.starter.web.util.ControllerUtil; @@ -12,7 +12,6 @@ import com.vci.starter.web.util.LocalFileUtil; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.util.Func; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -205,7 +204,7 @@ * @param confirmPassword 确认密码 */ @RequestMapping(value = "/changePassword",method = RequestMethod.POST) public BaseResult changePassword(String userOid, String password, String confirmPassword) { public BaseResult changePassword(String userOid, String password, String confirmPassword) throws PLException { userQueryService.changePassword(userOid, password, confirmPassword); return BaseResult.success("修改密码成功"); } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/dto/SmPasswordStrategyDTO.java
@@ -42,7 +42,7 @@ /** * 是否为默认 */ private Integer defaultFlag; private String defaultFlag; /** * 密码的最大长度 @@ -160,14 +160,14 @@ /** * 获取 是否为默认 */ public Integer getDefaultFlag (){ public String getDefaultFlag (){ return defaultFlag; } /** * 设置 是否为默认 */ public void setDefaultFlag (Integer defaultFlag){ public void setDefaultFlag (String defaultFlag){ this.defaultFlag = defaultFlag; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java
@@ -81,6 +81,11 @@ private String pkDepartmentName; /** * 所属部门编号 */ private String pkDepartmentNum; /** * 所属职务 */ private String pkDuty; @@ -170,6 +175,14 @@ */ private short status; public String getPkDepartmentNum() { return pkDepartmentNum; } public void setPkDepartmentNum(String pkDepartmentNum) { this.pkDepartmentNum = pkDepartmentNum; } public String getPassword() { return password; }