【修改】 1、学生表新增学生字段2、默认密码使用用户名

This commit is contained in:
DESKTOP-932OMT8\REN
2025-06-04 17:53:24 +08:00
parent a5dd5b58c4
commit 5d84d16b78
6 changed files with 31 additions and 13 deletions

View File

@@ -232,7 +232,7 @@ public class UserController {
public void importTemplateStu(HttpServletResponse response) throws IOException {
// 手动创建导出 demo
List<UserStuImportExcelVO> list = Arrays.asList(
UserStuImportExcelVO.builder().userType("学生").username("xueshen").classId("三年二班").email("xueshen@exam.cn").mobile("xxxxxxxx")
UserStuImportExcelVO.builder().userType("学生").username("xueshen").password("xxxxxxx").classId("三年二班").schoolName("xx学校").mobile("xxxxxxxx")
.nickname("xxxx").sfz("xxxxxxxxxxxxx").status(CommonStatusEnum.ENABLE.getStatus()).sex(SexEnum.MALE.getSex()).build()
);
// 输出

View File

@@ -27,6 +27,9 @@ public class UserRespVO{
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@ExcelProperty("用户昵称")
private String nickname;
@Schema(description = "学校名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "123")
@ExcelProperty("学校名称")
private String schoolName;
@Schema(description = "身份证", requiredMode = Schema.RequiredMode.REQUIRED, example = "123")
@ExcelProperty("身份证")
private String sfz;
@@ -38,11 +41,8 @@ public class UserRespVO{
@Schema(description = "备注", example = "我是一个用户")
private String remark;
@Schema(description = "部门ID", example = "我是一个用户")
private Long deptId;
@Schema(description = "部门名称", example = "IT 部")
@ExcelProperty("部门名称")
private String deptName;
@Schema(description = "岗位编号数组", example = "1")

View File

@@ -33,6 +33,10 @@ public class UserSaveReqVO {
@DiffLogField(name = "用户昵称")
private String nickname;
@Schema(description = "学校名称", example = "xx学校")
@DiffLogField(name = "学校名称")
private String schoolName;
@Schema(description = "身份证", example = "31231")
@DiffLogField(name = "身份证")
private String sfz;

View File

@@ -19,20 +19,23 @@ import pc.exam.pp.module.system.enums.DictTypeConstants;
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false避免用户导入有问题
public class UserStuImportExcelVO {
@ExcelProperty("属性(学生)")
@ExcelProperty("属性(学生)*")
private String userType;
@ExcelProperty("学生账号")
@ExcelProperty("学生账号*")
private String username;
@ExcelProperty("姓名")
@ExcelProperty("密码")
private String password;
@ExcelProperty("姓名*")
private String nickname;
@ExcelProperty("班级")
@ExcelProperty("班级*")
private String classId;
@ExcelProperty("用户邮箱")
private String email;
@ExcelProperty("学校名称")
private String schoolName;
@ExcelProperty("手机号码")
private String mobile;
@@ -44,7 +47,7 @@ public class UserStuImportExcelVO {
@DictFormat(DictTypeConstants.USER_SEX)
private Integer sex;
@ExcelProperty(value = "账号状态", converter = DictConvert.class)
@ExcelProperty(value = "账号状态*", converter = DictConvert.class)
@DictFormat(DictTypeConstants.COMMON_STATUS)
private Integer status;

View File

@@ -51,6 +51,10 @@ public class AdminUserDO extends TenantBaseDO {
* 用户昵称
*/
private String nickname;
/**
* 学校名称
*/
private String schoolName;
/**
* 备注
*/

View File

@@ -752,9 +752,16 @@ public class AdminUserServiceImpl implements AdminUserService {
UserImportRespVO respVO = UserImportRespVO.builder().createUsernames(new ArrayList<>())
.updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();
importUsers.forEach(importUser -> {
String password = "";
// 判断上传文件是否存在密码,如果存在密码,则使用密码,不存在密码,则使用用户名
if (importUser.getPassword() == null) {
password = importUser.getUsername();
} else {
password = importUser.getPassword();
}
// 2.1.1 校验字段是否符合要求
try {
ValidationUtils.validate(BeanUtils.toBean(importUser, UserSaveReqVO.class).setPassword(initPassword));
ValidationUtils.validate(BeanUtils.toBean(importUser, UserSaveReqVO.class).setPassword(password));
} catch (ConstraintViolationException ex){
respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
return;
@@ -784,7 +791,7 @@ public class AdminUserServiceImpl implements AdminUserService {
AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
if (existUser == null) {
userMapper.insert(BeanUtils.toBean(importUser, AdminUserDO.class)
.setPassword(encodePassword(initPassword)).setPostIds(new HashSet<>())); // 设置默认密码及空岗位编号数组
.setPassword(encodePassword(password)).setPostIds(new HashSet<>())); // 设置默认密码(如果没有密码填写username)及空岗位编号数组
respVO.getCreateUsernames().add(importUser.getUsername());
return;
}