package com.kwan.springbootkwan.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kwan.springbootkwan.entity.InterviewQuestion; import com.kwan.springbootkwan.entity.Result; import com.kwan.springbootkwan.entity.dto.InterviewQuestionDTO; import com.kwan.springbootkwan.entity.query.InterviewQuestionAddQuery; import com.kwan.springbootkwan.service.InterviewQuestionService; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.Serializable; import java.util.List; /** * 面试题(InterviewQuestion)表控制层 * * @author makejava * @since 2023-09-08 16:31:51 */ @RestController @RequestMapping("interviewQuestion") public class InterviewQuestionController { /** * 服务对象 */ @Resource private InterviewQuestionService interviewQuestionService; /** * 导入问题 * * @return 所有数据 */ @GetMapping("/upload") public Result uploadFile(@RequestParam String path) { return Result.ok(this.interviewQuestionService.uploadFile(path)); } /** * 分页查询所有数据 * * @return 所有数据 */ @GetMapping("/page") public Result selectAll(@RequestParam Integer page , @RequestParam Integer pageSize , @RequestParam String question , @RequestParam Integer questionType) { Page pageParm = new Page<>(); pageParm.setCurrent(page); pageParm.setSize(pageSize); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.orderByDesc("id"); if (questionType != 0) { wrapper.eq("question_type", questionType); } wrapper.eq("is_delete", 0); if (StringUtils.isNotEmpty(question)) { wrapper.like("question", question); } return Result.ok(InterviewQuestionDTO.Converter.INSTANCE.from(this.interviewQuestionService.page(pageParm, wrapper))); } /** * 新增问题 * * @return 所有数据 */ @PostMapping("/add") public Result add(@RequestBody InterviewQuestionAddQuery addInfo) { InterviewQuestion interviewQuestion = new InterviewQuestion(); interviewQuestion.setQuestion(addInfo.getQuestion()); interviewQuestion.setQuestionType(addInfo.getQuestionType()); return Result.ok(this.interviewQuestionService.save(interviewQuestion)); } /** * 获取面试题的种类的数量 * * @return */ @GetMapping("/questionType") public Result questionType() { return Result.ok(interviewQuestionService.questionType()); } /** * 通过主键查询单条数据 * * @param id 主键 * @return 单条数据 */ @GetMapping("{id}") public Result selectOne(@PathVariable Serializable id) { return Result.ok(this.interviewQuestionService.getById(id)); } /** * 新增数据 * * @param interviewQuestion 实体对象 * @return 新增结果 */ @PostMapping public Result insert(@RequestBody InterviewQuestion interviewQuestion) { return Result.ok(this.interviewQuestionService.save(interviewQuestion)); } /** * 修改数据 * * @param interviewQuestion 实体对象 * @return 修改结果 */ @PutMapping public Result update(@RequestBody InterviewQuestion interviewQuestion) { return Result.ok(this.interviewQuestionService.updateById(interviewQuestion)); } /** * 删除数据 * * @param idList 主键结合 * @return 删除结果 */ @DeleteMapping public Result delete(@RequestParam("idList") List idList) { return Result.ok(this.interviewQuestionService.removeByIds(idList)); } }