ludc
2024-07-12 3faac1edf6673219a1ec1f7b415871c0c8d15d0c
密码策略接口联调修改上传
已修改6个文件
49 ■■■■ 文件已修改
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/SmUserQueryServiceI.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmPwdStrategyQueryServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmUserQueryServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/controller/SmUserQueryController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/model/dto/SmPasswordStrategyDTO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/pagemodel/SmUserVO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }