package com.linghu.controller; import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.linghu.listener.QuestionExcelListener; import com.linghu.mapper.KeywordMapper; import com.linghu.mapper.ReferenceMapper; import com.linghu.model.common.ResponseResult; import com.linghu.model.dto.KeywordDto; import com.linghu.model.entity.Keyword; import com.linghu.model.entity.Question; import com.linghu.model.entity.Reference; import com.linghu.model.excel.KeywordExcel; import com.linghu.model.excel.QuestionExcel; import com.linghu.model.validator.CreateGroup; import com.linghu.model.validator.UpdateGroup; import com.linghu.service.KeywordService; import com.linghu.service.QuestionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpHeaders; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.validation.Valid; import javax.validation.constraints.NotEmpty; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.*; import java.util.stream.Collectors; import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; @RestController @RequestMapping("/question") @Api(value = "提问词相关接口", tags = "订单管理-提问词") public class QuestionController { @Autowired private QuestionService questionService; @PostMapping @ApiOperation(value = "添加提问词") public ResponseResult> add(@Validated(CreateGroup.class) @RequestBody KeywordDto keywordDto) { return questionService.addQuestion(keywordDto); } @PutMapping @ApiOperation(value = "修改提问词") public ResponseResult> update(@Validated(UpdateGroup.class) @RequestBody KeywordDto keywordDto) { return questionService.updateQuestion(keywordDto); } @PutMapping("/update") @ApiOperation(value = "修改单个提问词") public ResponseResult update(@Validated(UpdateGroup.class) @RequestBody Question questions) { return questionService.updateKeyWord(questions); } @DeleteMapping("/batch") @ApiOperation(value = "批量删除提问词") public ResponseResult batchDelete( @RequestBody List questionIds) { return questionService.batchDeleteQuestion(questionIds); } @GetMapping("/list") @ApiOperation("根据关键词查询提问词列表") public ResponseResult> list(@RequestParam("keyword_id") Integer keyword_id) { return questionService.getQuestionListByKeywordId(keyword_id); } @GetMapping("/notNullList") @ApiOperation("根据关键词查询提问词列表") public ResponseResult> notNullList(@RequestParam("keyword_id") Integer keyword_id) { return questionService.notNullQuestionList(keyword_id); } // 下载模板 @PostMapping("/downloadTemplate") @ApiOperation("下载模板") public ResponseEntity downloadTemplate() throws IOException { return questionService.downloadQuestion(); } // 导入文件 @PostMapping("/import") @ApiOperation("导入提问词词数据") public ResponseResult importPlatforms(@RequestParam("file") MultipartFile file) { return questionService.importQuestionsExcel(file); } }