liukangdong
2024-10-18 a2746876e81443d52bc4cb6f35bf8554741a6b4c
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemUserBizImpl.java
@@ -9,6 +9,7 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.PwdCheckUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.system.SystemDepartmentUserMapper;
import com.doumee.dao.system.dto.*;
@@ -81,6 +82,13 @@
    @Override
    public void updatePwd(UpdatePwdDto dto) {
        //登录密码复杂度校验:6-20个字符,至少包含字母、数字及特殊字符2种
        if(StringUtils.isBlank(dto.getNewPwd())
                ||dto.getNewPwd().length()>20
                ||dto.getNewPwd().length()<6
                ||PwdCheckUtil.checkPassword(dto.getNewPwd())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起,密码复杂度不满足要求:6-20个字符,至少包含字母、数字及特殊字符2种");
        }
        SystemUser user = systemUserService.findById(dto.getUserId());
        if (user.getDeleted()) {
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "用户不存在或已被删除");
@@ -93,6 +101,7 @@
        SystemUser newUser = new SystemUser();
        newUser.setId(dto.getUserId());
        newUser.setPassword(Utils.Secure.encryptPassword(dto.getNewPwd(), user.getSalt()));
        newUser.setNeedChangePwd(Constants.ONE);
        systemUserService.updateById(newUser);
    }
@@ -108,6 +117,7 @@
        updateUserDto.setId(dto.getId());
        updateUserDto.setUpdateUser(dto.getOperaUserId());
        updateUserDto.setPassword(Utils.Secure.encryptPassword(dto.getPassword(), systemUser.getSalt()));
        updateUserDto.setNeedChangePwd(Constants.ZERO);
        systemUserService.updateById(updateUserDto);
    }
@@ -138,6 +148,7 @@
        systemUser.setPassword(Utils.Secure.encryptPassword(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode(), salt));
        systemUser.setSalt(salt);
        systemUser.setSource(Constants.ZERO);
        systemUser.setNeedChangePwd(Constants.ZERO);
        // 创建用户记录
        systemUser.setType(Constants.ZERO);
@@ -263,20 +274,27 @@
                    .filter(s->StringUtils.isNotBlank(s))
                    .distinct()
                    .collect(Collectors.toList());
            String pwd =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode();
            if (!CollectionUtils.isEmpty(collect)){
                QueryWrapper<SystemDepartment> wrapper = new QueryWrapper<>();
                wrapper.lambda().in(SystemDepartment::getName,collect);
                List<SystemDepartment> systemDepartments = systemDepartmentService.findList(wrapper);
                Map<Integer, String> collect1 = systemDepartments.stream().collect(Collectors.toMap(s -> s.getId(), s -> s.getName()));
                // 生成密码盐
                dataList.forEach(s->{
                    CreateSystemUserDTO systemUser = new CreateSystemUserDTO();
                    systemUser.setDepartmentId(getKey(collect1,s.getDepartmentName()));
                    systemUser.setUsername(s.getUsername());
                    systemUser.setRealname(s.getUsername());
                    systemUser.setEmpNo(s.getEmpNo());
                    systemUser.setMobile(s.getMobile());
                    systemUser.setPassword(s.getMobile());
                    String salt = RandomStringUtils.randomAlphabetic(6);
//                    systemUser.setPassword(s.getMobile());
                    // 生成密码  String pwd =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode();
                    systemUser.setPassword(Utils.Secure.encryptPassword(pwd, salt));
                    systemUser.setNeedChangePwd(Constants.ZERO);
                    systemUser.setSalt(salt);
                    systemUser.setCreateUser(loginUserInfo.getId());
                    systemUser.setUpdateUser(loginUserInfo.getId());
                    systemUser.setType(Constants.ZERO);
@@ -297,7 +315,11 @@
                    systemUser.setRealname(s.getUsername());
                    systemUser.setEmpNo(s.getEmpNo());
                    systemUser.setMobile(s.getMobile());
                    systemUser.setPassword(s.getMobile());
                    // 生成密码             String pwd =systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INITIAL_PASSWORD).getCode();
                    String salt = RandomStringUtils.randomAlphabetic(6);
                    systemUser.setPassword(Utils.Secure.encryptPassword(pwd, salt));
                    systemUser.setNeedChangePwd(Constants.ZERO);
//                    systemUser.setPassword(s.getMobile());
                    systemUser.setCreateUser(loginUserInfo.getId());
                    systemUser.setUpdateUser(loginUserInfo.getId());
                    systemUser.setType(Constants.ZERO);