diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java b/ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java index 22a8849..1f15997 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/dao/QuestionMapper.java @@ -72,4 +72,12 @@ public interface QuestionMapper extends BaseMapper { */ List getListByPaperId(@Param("paperId") Long id); + /** + * 查询试题是否被引用 + * + * @param ids 试题ID + * @return 查询结果 + */ + int getQuestiongInExamSize(@Param("ids") List ids); + } diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionService.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionService.java index 025d940..e20349c 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionService.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionService.java @@ -28,7 +28,7 @@ public interface QuestionService extends BaseService { * @param ids 试题ID * @return 删除结果 */ - boolean delQuestion(List ids); + Map delQuestion(List ids); /** * 添加试题 diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java b/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java index 636b66b..6496ab8 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/service/QuestionServiceImpl.java @@ -41,8 +41,28 @@ public class QuestionServiceImpl extends BaseServiceImpl ids) { - return deleteLogic(ids); + public Map delQuestion(List ids) { + Map map = new HashMap<>(); + int size = baseMapper.getQuestiongInExamSize(ids); + if( size > 0 ) + { + map.put("success", "error"); + if (ids.size() > 1){ + map.put("message", "选中的试题中有" + size + "个已被引用,需删除引用的考试后方可删除"); + }else{ + map.put("message", "该试题已被引用,需删除引用的考试后方可删除"); + } + return map; + } + boolean deleteResult = deleteLogic(ids); + if (deleteResult) { + map.put("success", "true"); + map.put("message", "试题删除成功"); + } else { + map.put("success", "false"); + map.put("message", "试题删除失败"); + } + return map; } @Override diff --git a/ccic-exam/src/main/java/com/ccic/safeliab/web/QuestionController.java b/ccic-exam/src/main/java/com/ccic/safeliab/web/QuestionController.java index 7d4f413..f571866 100644 --- a/ccic-exam/src/main/java/com/ccic/safeliab/web/QuestionController.java +++ b/ccic-exam/src/main/java/com/ccic/safeliab/web/QuestionController.java @@ -41,12 +41,8 @@ public class QuestionController { */ @PostMapping("/delQuestion") public R delQuestion(@RequestBody List ids) { - boolean flag = questionService.delQuestion(ids); - if (flag) { - return R.ok(); - } else { - return R.error(); - } + Map map = questionService.delQuestion(ids); + return R.ok().data(map); } /** diff --git a/ccic-exam/src/main/resources/mappers/QuestionMapper.xml b/ccic-exam/src/main/resources/mappers/QuestionMapper.xml index 4a38553..032d36d 100644 --- a/ccic-exam/src/main/resources/mappers/QuestionMapper.xml +++ b/ccic-exam/src/main/resources/mappers/QuestionMapper.xml @@ -45,7 +45,7 @@ FROM ex_question_categories - is_deleted = '0' + is_deleted = 0 AND industry_id = #{industryId} @@ -68,7 +68,7 @@ FROM ex_question_categories - is_deleted = '0' + is_deleted = 0 AND industry_id = #{industryId} @@ -105,7 +105,7 @@ FROM ex_question_categories - is_deleted = '0' + is_deleted = 0 AND id = #{id} @@ -124,13 +124,33 @@ a.status, b.question_number FROM ex_question_categories a - LEFT JOIN ex_paper_questions b ON b.question_id = a.id AND b.is_deleted = '0' + LEFT JOIN ex_paper_questions b ON b.question_id = a.id AND b.is_deleted = 0 - a.is_deleted = '0' + a.is_deleted = 0 AND b.paper_id = #{paperId} ORDER BY b.question_number asc + \ No newline at end of file