diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/web/JsonReturnCode.java b/admin-core/src/main/java/com/ibeetl/admin/core/web/JsonReturnCode.java index f9405250..f1095c71 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/web/JsonReturnCode.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/web/JsonReturnCode.java @@ -9,7 +9,8 @@ public enum JsonReturnCode { SUCCESS ("200","成功"), FAIL ("500","内部失败"), ACCESS_ERROR ("403","禁止访问"), - NOT_FOUND ("404","页面未发现"); + NOT_FOUND ("404","页面未发现"), + DIY_ERROR ("5000","自定义异常"); private String code; private String desc; diff --git a/web/src/main/java/com/ibeetl/jlw/web/SchoolClassController.java b/web/src/main/java/com/ibeetl/jlw/web/SchoolClassController.java index c7a72b6e..7f3def3f 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/SchoolClassController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/SchoolClassController.java @@ -46,6 +46,7 @@ import static cn.hutool.core.util.ObjectUtil.defaultIfNull; import static cn.jlw.util.CacheUserUtil.getStudent; import static com.ibeetl.admin.console.service.OrgConsoleService.setObjectOrgId; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; +import static com.ibeetl.admin.core.web.JsonReturnCode.DIY_ERROR; /** * SchoolClass 接口 @@ -303,43 +304,48 @@ public class SchoolClassController extends BaseController { @ResponseBody public JsonResult importBatchTemplate(@NotNull(message = "导入的文件不能为空!") MultipartFile file, @SCoreUser CoreUser coreUser) { - Assert.isNull(getStudent(), "学生无法访问该接口"); + try { + Assert.isNull(getStudent(), "学生无法访问该接口"); - // 输出 Excel - MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>(); + // 输出 Excel + MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>(); - ExcelUtil.readExcelNotContainHeader(file, SchoolClassBatchImportDTO.class, listener); - // 判断错误的结果集 - Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); - // 类型转换 - List classList = listener.getData().stream() + ExcelUtil.readExcelNotContainHeader(file, SchoolClassBatchImportDTO.class, listener); + // 判断错误的结果集 + Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); + // 类型转换 + List classList = listener.getData().stream() // .map(item -> SchoolClassBatchImportDTO.pojo(item, (e) -> e)) - .map(SchoolClassBatchImportDTO::pojo) - .collect(Collectors.toList()); - - // 设置机构ID - setObjectOrgId(classList, (e) -> { - UniversitiesColleges universitiesColleges = new UniversitiesColleges(); - universitiesColleges.setUniversitiesCollegesId(e.getUniversitiesCollegesId()); - UniversitiesColleges uc = universitiesCollegesDao.templateOne(universitiesColleges); - if (uc != null) { - return uc.getOrgId(); + .map(SchoolClassBatchImportDTO::pojo) + .collect(Collectors.toList()); + + // 设置机构ID + setObjectOrgId(classList, (e) -> { + UniversitiesColleges universitiesColleges = new UniversitiesColleges(); + universitiesColleges.setUniversitiesCollegesId(e.getUniversitiesCollegesId()); + UniversitiesColleges uc = universitiesCollegesDao.templateOne(universitiesColleges); + if (uc != null) { + return uc.getOrgId(); + } + return null; + }, true); + + try { + schoolClassService.validateClassSnListIsExistsThrow(classList); + } + catch (IllegalArgumentException e) { + listener.putFailMessage(e.getMessage()); + } + finally { + // 再次判断错误的结果集 + Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); } - return null; - }, true); - try { - schoolClassService.validateClassSnListIsExistsThrow(classList); + schoolClassService.insertBatch(classList); } - catch (IllegalArgumentException e) { - listener.putFailMessage(e.getMessage()); + catch (IllegalArgumentException exception) { + return JsonResult.failMessage(exception.getMessage()).setCode(DIY_ERROR.getCode()); } - finally { - // 再次判断错误的结果集 - Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); - } - - schoolClassService.insertBatch(classList); return JsonResult.successMessage("导入成功!"); } diff --git a/web/src/main/java/com/ibeetl/jlw/web/StudentController.java b/web/src/main/java/com/ibeetl/jlw/web/StudentController.java index 60763b57..27868966 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/StudentController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/StudentController.java @@ -66,6 +66,7 @@ import static com.ibeetl.admin.console.service.OrgConsoleService.setObjectOrgId; import static com.ibeetl.admin.core.util.ExcelUtil.convertData; import static com.ibeetl.admin.core.util.ExcelUtil.write; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; +import static com.ibeetl.admin.core.web.JsonReturnCode.DIY_ERROR; import static com.ibeetl.jlw.web.IpAddressController.ipAddressMap; @@ -2802,43 +2803,47 @@ public class StudentController extends BaseController{ @ResponseBody public JsonResult importBatchTemplate(@NotNull(message = "导入的文件不能为空!") MultipartFile file, @SCoreUser CoreUser coreUser) { - Assert.isNull(getStudent(), "学生无法访问该接口"); + try { + Assert.isNull(getStudent(), "学生无法访问该接口"); - // 输出 Excel - MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>(); - - ExcelUtil.readExcelNotContainHeader(file, StudentBatchImportDTO.class, listener); - // 判断错误的结果集 - Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); - // 类型转换 - List list = listener.getData().stream().map(StudentBatchImportDTO::pojo) - .collect(Collectors.toList()); - - // 设置机构ID - setObjectOrgId(list, (e) -> { - SchoolClass params = new SchoolClass(); - params.setClassId(e.getClassId()); - params.setClassStatus(1); - SchoolClass sc = schoolClassDao.templateOne(params); - if (sc != null) { - return sc.getOrgId(); - } - return null; - }, true); + // 输出 Excel + MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>(); - try { - studentService.validateStudentSnListIsExistsThrow(list); - } - catch (IllegalArgumentException e) { - listener.putFailMessage(e.getMessage()); - } - finally { - // 再次判断错误的结果集 + ExcelUtil.readExcelNotContainHeader(file, StudentBatchImportDTO.class, listener); + // 判断错误的结果集 Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); - } + // 类型转换 + List list = listener.getData().stream().map(StudentBatchImportDTO::pojo) + .collect(Collectors.toList()); + + // 设置机构ID + setObjectOrgId(list, (e) -> { + SchoolClass params = new SchoolClass(); + params.setClassId(e.getClassId()); + params.setClassStatus(1); + SchoolClass sc = schoolClassDao.templateOne(params); + if (sc != null) { + return sc.getOrgId(); + } + return null; + }, true); - studentService.insertBatch(list); + try { + studentService.validateStudentSnListIsExistsThrow(list); + } + catch (IllegalArgumentException e) { + listener.putFailMessage(e.getMessage()); + } + finally { + // 再次判断错误的结果集 + Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); + } + studentService.insertBatch(list); + } + catch (IllegalArgumentException exception) { + return JsonResult.failMessage(exception.getMessage()).setCode(DIY_ERROR.getCode()); + } return JsonResult.successMessage("导入成功!"); } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java index d54dd7a1..b99e50a5 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java @@ -58,6 +58,7 @@ import java.util.stream.Collectors; import static cn.jlw.util.CacheUserUtil.getStudent; import static com.ibeetl.admin.core.util.user.CacheUserUtil.getUser; +import static com.ibeetl.admin.core.web.JsonReturnCode.DIY_ERROR; /** * 开课题目拉取 开课-题库管理-离线 接口 @@ -511,22 +512,27 @@ public class TeacherOpenCourseMergeResourcesQuestionController extends BaseContr @PostMapping(API + "/importBatchTemplate.do") public JsonResult importBatchTemplate(@NotNull(message = "导入的文件不能为空!") MultipartFile file, @SCoreUser CoreUser coreUser) { - Assert.isNull(getStudent(), "学生无法访问该接口"); + try { + Assert.isNull(getStudent(), "学生无法访问该接口"); - // 输出 Excel - MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>(); + // 输出 Excel + MyValidateExcelCellDataListener listener = new MyValidateExcelCellDataListener<>(); - ExcelUtil.readExcelNotContainHeader(file, TeacherOpenCourseMergeResourcesQuestionImport.class, listener); - // 判断错误的结果集 - Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); - // 类型转换 - List options = listener.getData().stream() - .map(TeacherOpenCourseMergeResourcesQuestionImport::pojo).collect(Collectors.toList()); + ExcelUtil.readExcelNotContainHeader(file, TeacherOpenCourseMergeResourcesQuestionImport.class, listener); + // 判断错误的结果集 + Assert.isTrue(CollectionUtil.isEmpty(listener.getFailMessage()), JSONUtil.toJsonStr(listener.getFailMessage())); + // 类型转换 + List options = listener.getData().stream() + .map(TeacherOpenCourseMergeResourcesQuestionImport::pojo).collect(Collectors.toList()); - // 只复制用户ID和组织ID - BeanUtil.beanPropertyCopyToList(coreUser, options, MapUtil.of("id", "userId"), "userId", "orgId"); + // 只复制用户ID和组织ID + BeanUtil.beanPropertyCopyToList(coreUser, options, MapUtil.of("id", "userId"), "userId", "orgId"); - teacherOpenCourseMergeResourcesQuestionService.insertBatch(options); + teacherOpenCourseMergeResourcesQuestionService.insertBatch(options); + } + catch (IllegalArgumentException exception) { + return JsonResult.failMessage(exception.getMessage()).setCode(DIY_ERROR.getCode()); + } return JsonResult.successMessage("导入成功!"); }