diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassCourseController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassCourseController.java index bed0ce97..57a08238 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassCourseController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/ClassCourseController.java @@ -14,6 +14,8 @@ import org.qinan.safetyeval.infrastructure.dataobject.base.Req; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 班级课程 */ @@ -31,6 +33,15 @@ public class ClassCourseController { return SingleResponse.success(classCourseService.saveCourse(dto)); } + /** + * 批量新增班级课程 + */ + @ApiOperation("批量新增班级课程") + @PostMapping("/batchSave") + public SingleResponse batchSave(@RequestBody List dtoList) { + return SingleResponse.success(classCourseService.saveCourseBatch(dtoList)); + } + @ApiOperation("班级课程详情") @GetMapping("/get") public SingleResponse get(@ApiParam("主键ID") @RequestParam Long id) { diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassCourseService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassCourseService.java index a2cbe9b8..6d310534 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassCourseService.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/ClassCourseService.java @@ -7,6 +7,8 @@ import org.qinan.cedu.model.entity.ClassCourseDO; import org.qinan.cedu.model.query.ClassCoursePageQuery; import org.qinan.cedu.model.vo.ClassCourseVO; +import java.util.List; + /** * 班级课程服务 */ @@ -18,6 +20,14 @@ public interface ClassCourseService extends IService { boolean saveCourse(ClassCourseDTO dto); + /** + * 批量新增班级课程 + * + * @param dtoList 课程信息列表 + * @return 是否全部保存成功 + */ + boolean saveCourseBatch(List dtoList); + boolean updateCourse(ClassCourseDTO dto); boolean deleteById(Long id); diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java index b6ef9343..dc2d1fd4 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java @@ -88,10 +88,32 @@ public class ClassCourseServiceImpl extends ServiceImpl dtoList) { + List entities = dtoList.stream().map(this::buildEntity).collect(Collectors.toList()); + return this.saveBatch(entities); + } + + /** + * 将 DTO 转换为实体并填充默认值 + * + * @param dto 课程信息 + * @return 班级课程实体 + */ + private ClassCourseDO buildEntity(ClassCourseDTO dto) { ClassCourseDO entity = classCourseConvertor.convertDtoToE(dto); InsertFieldDefaults.applyIgnoreOrgId(entity); entity.setUpdateTime(LocalDateTime.now()); - return this.save(entity); + return entity; } @Override