InterviewQuestionController.java 4.4 KB
Newer Older
1 2 3 4 5 6 7
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;
8
import com.kwan.springbootkwan.entity.dto.InterviewQuestionDTO;
9
import com.kwan.springbootkwan.entity.query.InterviewQuestionAddQuery;
10
import com.kwan.springbootkwan.service.InterviewQuestionService;
11
import org.apache.commons.lang3.StringUtils;
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
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));
    }

51
    /**
52
     * 分页查询所有数据
53 54 55 56 57 58
     *
     * @return 所有数据
     */
    @GetMapping("/page")
    public Result selectAll(@RequestParam Integer page
            , @RequestParam Integer pageSize
59
            , @RequestParam String question
60
            , @RequestParam Integer questionType) {
61 62 63 64 65
        Page<InterviewQuestion> pageParm = new Page<>();
        pageParm.setCurrent(page);
        pageParm.setSize(pageSize);
        QueryWrapper<InterviewQuestion> wrapper = new QueryWrapper<>();
        wrapper.orderByDesc("id");
66 67
        if (questionType != 0) {
            wrapper.eq("question_type", questionType);
68
        }
69 70 71 72 73 74 75
        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)));
    }

76
    /**
77
     * 新增问题
78 79 80
     *
     * @return 所有数据
     */
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
    @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());
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
    }

    /**
     * 通过主键查询单条数据
     *
     * @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<Long> idList) {
        return Result.ok(this.interviewQuestionService.removeByIds(idList));
    }
}