diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/UserController.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/UserController.java index 667ae98b..a84311cb 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/UserController.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/UserController.java @@ -232,7 +232,7 @@ public class UserController { public void importTemplateStu(HttpServletResponse response) throws IOException { // 手动创建导出 demo List 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() ); // 输出 diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserRespVO.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserRespVO.java index 9198d4a6..bdc10eb8 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserRespVO.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserRespVO.java @@ -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") diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserSaveReqVO.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserSaveReqVO.java index 558a10b4..1b7ba4ba 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserSaveReqVO.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserSaveReqVO.java @@ -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; diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserStuImportExcelVO.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserStuImportExcelVO.java index e025e012..aa81396e 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserStuImportExcelVO.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/controller/admin/user/vo/user/UserStuImportExcelVO.java @@ -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; diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/dal/dataobject/user/AdminUserDO.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/dal/dataobject/user/AdminUserDO.java index e4691a5e..53cd3d96 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/dal/dataobject/user/AdminUserDO.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/dal/dataobject/user/AdminUserDO.java @@ -51,6 +51,10 @@ public class AdminUserDO extends TenantBaseDO { * 用户昵称 */ private String nickname; + /** + * 学校名称 + */ + private String schoolName; /** * 备注 */ diff --git a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/service/user/AdminUserServiceImpl.java b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/service/user/AdminUserServiceImpl.java index 85e98be5..a88f5cf4 100644 --- a/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/service/user/AdminUserServiceImpl.java +++ b/exam-module-system/exam-module-system-biz/src/main/java/pc/exam/pp/module/system/service/user/AdminUserServiceImpl.java @@ -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; }