| | |
| | | UserSaveReqVO saveReqVO = BeanUtils.toBean(importUser, UserSaveReqVO.class) |
| | | .setUsername(username).setDeptId(deptId).setPostIds(postIds).setPassword(password); |
| | | validateUserImportRow(saveReqVO, password); |
| | | // 2.1.3 校验用户账号、手机号、邮箱唯一,以及部门、岗位可用 |
| | | validateUserForCreateOrUpdate(null, username, saveReqVO.getMobile(), saveReqVO.getEmail(), |
| | | deptId, postIds); |
| | | |
| | | // 2.2.1 判断如果不存在,在进行插入 |
| | | // 2.2.1 判断如果不存在,进行插入 |
| | | AdminUserDO existUser = userMapper.selectByUsername(username); |
| | | if (existUser == null) { |
| | | // 2.2.2 校验用户账号、手机号、邮箱唯一,以及部门、岗位可用 |
| | | validateUserForCreateOrUpdate(null, username, saveReqVO.getMobile(), saveReqVO.getEmail(), |
| | | deptId, postIds); |
| | | AdminUserDO user = BeanUtils.toBean(saveReqVO, AdminUserDO.class) |
| | | .setPassword(encodePassword(password)) |
| | | .setStatus(ObjUtil.defaultIfNull(importUser.getStatus(), |
| | |
| | | respVO.getCreateUsernames().add(username); |
| | | return; |
| | | } |
| | | // 2.2.2 如果存在,判断是否允许更新 |
| | | // 2.2.3 如果存在,判断是否允许更新 |
| | | if (!isUpdateSupport) { |
| | | throw new ServiceException(USER_USERNAME_EXISTS.getCode(), |
| | | "用户账号已存在。如需覆盖这个用户,请勾选「是否覆盖」后重新导入;否则请修改 Excel 中的用户账号"); |
| | | } |
| | | // 2.2.4 覆盖时按更新校验(带上用户编号,唯一性校验会跳过这个用户自己) |
| | | validateUserForCreateOrUpdate(existUser.getId(), username, saveReqVO.getMobile(), |
| | | saveReqVO.getEmail(), deptId, postIds); |
| | | AdminUserDO updateUser = BeanUtils.toBean(saveReqVO, AdminUserDO.class) |
| | | .setId(existUser.getId()).setPassword(null) // 覆盖时不改密码,避免把在用账号的密码改掉 |
| | | .setStatus(importUser.getStatus()); //「账号状态」留空时保持原状态 |