diff --git a/src/main/java/com/sztzjy/resource_center/controller/CaseController.java b/src/main/java/com/sztzjy/resource_center/controller/CaseController.java index 1138e73..8ab676c 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/CaseController.java +++ b/src/main/java/com/sztzjy/resource_center/controller/CaseController.java @@ -151,8 +151,9 @@ public class CaseController { @ApiOperation("案例题编辑") @PostMapping("updateCase") public ResultEntity updateCase(@RequestBody SysCaseQuestion sysCaseQuestion, - @ApiParam("谁调的请求,传管理员/学校ID") @RequestParam String source) { - List sysTopicAndCourses = getSysTopicAndCourses(sysCaseQuestion.getCaseId(), sysCaseQuestion.getOneId()); + @ApiParam("谁调的请求,传管理员/学校ID") @RequestParam String source, + @ApiParam("修改前旧的oneId") @RequestParam String oldOneId) { + List sysTopicAndCourses = getSysTopicAndCourses(sysCaseQuestion.getCaseId(), oldOneId); // if (!sysTopicAndCourses.isEmpty()) { // return new ResultEntity<>(HttpStatus.BAD_REQUEST, "该案例题正在被使用!"); // } else { @@ -160,6 +161,8 @@ public class CaseController { if ("管理员".equals(source) || source.equals(sysCaseQuestion.getSource())) { if (!sysTopicAndCourses.isEmpty()) { SysTopicAndCourse sysTopicAndCourse = sysTopicAndCourses.get(0); + sysTopicAndCourse.setOneId(sysCaseQuestion.getOneId()); + sysTopicAndCourse.setOneName(sysCaseQuestion.getOneName()); sysTopicAndCourse.setTwoId(sysCaseQuestion.getTwoId()); sysTopicAndCourse.setThreeId(sysCaseQuestion.getThreeId()); sysTopicAndCourse.setTwoName(sysCaseQuestion.getTwoName()); diff --git a/src/main/java/com/sztzjy/resource_center/controller/CourseTagManageController.java b/src/main/java/com/sztzjy/resource_center/controller/CourseTagManageController.java index dc693bd..2a65854 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/CourseTagManageController.java +++ b/src/main/java/com/sztzjy/resource_center/controller/CourseTagManageController.java @@ -51,7 +51,6 @@ public class CourseTagManageController { private SysObjectiveQuestionsMapper sysObjectiveQuestionsMapper; - @AnonymousAccess @ApiOperation("添加二级目录") @PostMapping("insertSysTwoCatalog") @@ -143,12 +142,18 @@ public class CourseTagManageController { //删除资源关系表 SysResourceAndCourseExample example1 = new SysResourceAndCourseExample(); example1.createCriteria().andTwoIdEqualTo(id); + + List sysResourceAndCourses = sysResourceAndCourseMapper.selectByExample(example1); + List resourceIds = sysResourceAndCourses.stream().map(SysResourceAndCourse::getResourceId).collect(Collectors.toList()); + sysResourceAndCourseMapper.deleteByExample(example1); //删除资源 - SysResourceExample sysResourceExample = new SysResourceExample(); - sysResourceExample.createCriteria().andTwoTagEqualTo(id); - sysResourceMapper.deleteByExample(sysResourceExample); + if (!resourceIds.isEmpty()) { + SysResourceExample sysResourceExample = new SysResourceExample(); + sysResourceExample.createCriteria().andResourceIdIn(resourceIds); + sysResourceMapper.deleteByExample(sysResourceExample); + } //删除题目关系表 SysTopicAndCourseExample example = new SysTopicAndCourseExample(); @@ -159,27 +164,33 @@ public class CourseTagManageController { //删除案例题 - SysCaseQuestionExample sysCaseQuestionExample = new SysCaseQuestionExample(); - sysCaseQuestionExample.createCriteria().andCaseIdIn(topicIds); - sysCaseQuestionMapper.deleteByExample(sysCaseQuestionExample); - - //删除客观题 - SysObjectiveQuestionsExample sysObjectiveQuestionsExample =new SysObjectiveQuestionsExample(); - sysObjectiveQuestionsExample.createCriteria().andObjectiveIdIn(topicIds); - sysObjectiveQuestionsMapper.deleteByExample(sysObjectiveQuestionsExample); + if (!topicIds.isEmpty()) { + SysCaseQuestionExample sysCaseQuestionExample = new SysCaseQuestionExample(); + sysCaseQuestionExample.createCriteria().andCaseIdIn(topicIds); + sysCaseQuestionMapper.deleteByExample(sysCaseQuestionExample); + + //删除客观题 + SysObjectiveQuestionsExample sysObjectiveQuestionsExample = new SysObjectiveQuestionsExample(); + sysObjectiveQuestionsExample.createCriteria().andObjectiveIdIn(topicIds); + sysObjectiveQuestionsMapper.deleteByExample(sysObjectiveQuestionsExample); + } } else { sysThreeCatalogMapper.deleteByPrimaryKey(id); //删除资源关系表 SysResourceAndCourseExample sysResourceAndCourseExample = new SysResourceAndCourseExample(); sysResourceAndCourseExample.createCriteria().andThreeIdEqualTo(id); - sysResourceAndCourseMapper.deleteByExample(sysResourceAndCourseExample); - //删除资源 - SysResourceExample sysResourceExample = new SysResourceExample(); - sysResourceExample.createCriteria().andThreeTagEqualTo(id); - sysResourceMapper.deleteByExample(sysResourceExample); + List sysResourceAndCourses = sysResourceAndCourseMapper.selectByExample(sysResourceAndCourseExample); + List resourceIds = sysResourceAndCourses.stream().map(SysResourceAndCourse::getResourceId).collect(Collectors.toList()); + sysResourceAndCourseMapper.deleteByExample(sysResourceAndCourseExample); + //删除资源 + if (!resourceIds.isEmpty()) { + SysResourceExample sysResourceExample = new SysResourceExample(); + sysResourceExample.createCriteria().andResourceIdIn(resourceIds); + sysResourceMapper.deleteByExample(sysResourceExample); + } //删除题目关系表 SysTopicAndCourseExample sysTopicAndCourseExample = new SysTopicAndCourseExample(); @@ -191,14 +202,16 @@ public class CourseTagManageController { sysTopicAndCourseMapper.deleteByExample(sysTopicAndCourseExample); //删除案例题 - SysCaseQuestionExample sysCaseQuestionExample = new SysCaseQuestionExample(); - sysCaseQuestionExample.createCriteria().andCaseIdIn(topicIds); - sysCaseQuestionMapper.deleteByExample(sysCaseQuestionExample); - - //删除客观题 - SysObjectiveQuestionsExample sysObjectiveQuestionsExample =new SysObjectiveQuestionsExample(); - sysObjectiveQuestionsExample.createCriteria().andObjectiveIdIn(topicIds); - sysObjectiveQuestionsMapper.deleteByExample(sysObjectiveQuestionsExample); + if (!topicIds.isEmpty()) { + SysCaseQuestionExample sysCaseQuestionExample = new SysCaseQuestionExample(); + sysCaseQuestionExample.createCriteria().andCaseIdIn(topicIds); + sysCaseQuestionMapper.deleteByExample(sysCaseQuestionExample); + + //删除客观题 + SysObjectiveQuestionsExample sysObjectiveQuestionsExample = new SysObjectiveQuestionsExample(); + sysObjectiveQuestionsExample.createCriteria().andObjectiveIdIn(topicIds); + sysObjectiveQuestionsMapper.deleteByExample(sysObjectiveQuestionsExample); + } } } catch (Exception e) { e.printStackTrace(); @@ -208,7 +221,6 @@ public class CourseTagManageController { } - @AnonymousAccess @ApiOperation("一级目录重新排序") @PostMapping("setOneCatalogueRank") diff --git a/src/main/java/com/sztzjy/resource_center/controller/TopicResourceController.java b/src/main/java/com/sztzjy/resource_center/controller/TopicResourceController.java index e8acfa2..e186c1a 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/TopicResourceController.java +++ b/src/main/java/com/sztzjy/resource_center/controller/TopicResourceController.java @@ -234,7 +234,7 @@ public class TopicResourceController { SysObjectiveQuestions newData = new SysObjectiveQuestions(); BeanUtils.copyProperties(dto, newData); sysObjectiveQuestionMapper.updateByPrimaryKey(newData); - return new ResultEntity<>(HttpStatus.BAD_REQUEST, "编辑完成!"); + return new ResultEntity<>(HttpStatus.OK, "编辑完成!"); } @AnonymousAccess diff --git a/src/main/java/com/sztzjy/resource_center/controller/api/CourseApi.java b/src/main/java/com/sztzjy/resource_center/controller/api/CourseApi.java index 5d96869..85db12b 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/api/CourseApi.java +++ b/src/main/java/com/sztzjy/resource_center/controller/api/CourseApi.java @@ -126,13 +126,18 @@ public class CourseApi { //删除资源关系表 SysResourceAndCourseExample example1 = new SysResourceAndCourseExample(); example1.createCriteria().andTwoIdEqualTo(twoId); + + List sysResourceAndCourses = sysResourceAndCourseMapper.selectByExample(example1); + List resourceIds = sysResourceAndCourses.stream().map(SysResourceAndCourse::getResourceId).collect(Collectors.toList()); + sysResourceAndCourseMapper.deleteByExample(example1); //删除资源 - SysResourceExample sysResourceExample = new SysResourceExample(); - sysResourceExample.createCriteria().andTwoTagEqualTo(twoId); - sysResourceMapper.deleteByExample(sysResourceExample); - + if (!resourceIds.isEmpty()) { + SysResourceExample sysResourceExample = new SysResourceExample(); + sysResourceExample.createCriteria().andResourceIdIn(resourceIds); + sysResourceMapper.deleteByExample(sysResourceExample); + } //删除题目关系表 SysTopicAndCourseExample example = new SysTopicAndCourseExample(); example.createCriteria().andTwoIdEqualTo(twoId); @@ -142,14 +147,16 @@ public class CourseApi { //删除案例题 - SysCaseQuestionExample sysCaseQuestionExample = new SysCaseQuestionExample(); - sysCaseQuestionExample.createCriteria().andCaseIdIn(topicIds); - sysCaseQuestionMapper.deleteByExample(sysCaseQuestionExample); + if (!topicIds.isEmpty()) { + SysCaseQuestionExample sysCaseQuestionExample = new SysCaseQuestionExample(); + sysCaseQuestionExample.createCriteria().andCaseIdIn(topicIds); + sysCaseQuestionMapper.deleteByExample(sysCaseQuestionExample); - //删除客观题 - SysObjectiveQuestionsExample sysObjectiveQuestionsExample =new SysObjectiveQuestionsExample(); - sysObjectiveQuestionsExample.createCriteria().andObjectiveIdIn(topicIds); - sysObjectiveQuestionsMapper.deleteByExample(sysObjectiveQuestionsExample); + //删除客观题 + SysObjectiveQuestionsExample sysObjectiveQuestionsExample = new SysObjectiveQuestionsExample(); + sysObjectiveQuestionsExample.createCriteria().andObjectiveIdIn(topicIds); + sysObjectiveQuestionsMapper.deleteByExample(sysObjectiveQuestionsExample); + } return true; } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/com/sztzjy/resource_center/controller/api/ResourceDataApi.java b/src/main/java/com/sztzjy/resource_center/controller/api/ResourceDataApi.java index 02cdc14..674590f 100644 --- a/src/main/java/com/sztzjy/resource_center/controller/api/ResourceDataApi.java +++ b/src/main/java/com/sztzjy/resource_center/controller/api/ResourceDataApi.java @@ -121,7 +121,7 @@ public class ResourceDataApi { @AnonymousAccess @ApiOperation("数据集下载") @GetMapping("downloadResourceData") - private void selectResourceDataList(@RequestParam String resourceId, + private void downloadResourceData(@RequestParam String resourceId, HttpServletResponse response) { try { SysResourceData sysResourceData = sysResourceDataMapper.selectByPrimaryKey(resourceId);