| | |
| | | |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.IOException; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; |
| | |
| | | @ApiOperation(value = "批量删除提问词") |
| | | public ResponseResult<Void> batchDelete(@RequestBody List<Integer> questionIds) { |
| | | |
| | | LambdaQueryWrapper<Question> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(Question::getQuestion_id, questionIds); |
| | | List<Question> questions = questionService.list(queryWrapper); |
| | | Question question = questions.get(0); |
| | | Keyword keyword = keywordService.getById(question.getKeyword_id()); |
| | | |
| | | |
| | | if ("submitted".equals(keyword.getStatus()) ) { |
| | | return ResponseResult.error("该关键词在采集中"); |
| | | // 2. 批量查询所有提问词 |
| | | List<Question> questions = questionService.listByIds(questionIds); |
| | | // 3. 校验所有提问词关联的关键词是否处于采集中 |
| | | for (Question question : questions) { |
| | | Keyword keyword = keywordService.getById(question.getKeyword_id()); |
| | | // 关键词不存在也需处理(可选) |
| | | if (keyword == null) { |
| | | return ResponseResult.error("提问词关联的关键词不存在,ID:" + question.getKeyword_id()); |
| | | } |
| | | // 核心校验:若有任何关键词在采集中,禁止删除 |
| | | if ("submitted".equals(keyword.getStatus())) { |
| | | return ResponseResult.error("该关键词在采集中,无法删除"); |
| | | } |
| | | } |
| | | System.out.println(questionIds.toString()); |
| | | questionService.removeByIds(questionIds); |
| | | return ResponseResult.success(); |
| | | } |