liusheng
21 小时以前 e4e220916dd2a4aa649a9b0162e5b5ed0dc9d7e5
1
2
3
4
5
6
7
8
9
10
11
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
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
package com.ruoyi.web.controller.smartor;
 
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.smartor.domain.SvyLibScript;
import com.smartor.domain.SvyLibScriptRes;
import com.smartor.domain.SvyTopic;
import com.smartor.domain.SvyTopicReq;
import com.smartor.service.ISvyTopicService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
 
import javax.servlet.http.HttpServletResponse;
import java.util.List;
 
/**
 * 题目Controller
 *
 * @author ruoyi
 * @date 2023-06-26
 */
@Api(description = "题目")
@RestController
@RequestMapping("/system/topic")
public class SvyTopicController extends BaseController {
    @Autowired
    private ISvyTopicService svyTopicService;
 
    /**
     * 查询题目列表
     */
    //@PreAuthorize("@ss.hasPermi('system:topic:list')")
    @PostMapping("/list")
    public TableDataInfo list(@RequestBody SvyTopic svyTopic) {
        startPage();
        List<SvyTopic> list = svyTopicService.selectSvyTopicList(svyTopic);
        return getDataTable(list);
    }
 
    /**
     * 导出题目列表
     */
    //@PreAuthorize("@ss.hasPermi('system:topic:export')")
    @Log(title = "题目", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyTopic svyTopic) {
        List<SvyTopic> list = svyTopicService.selectSvyTopicList(svyTopic);
        ExcelUtil<SvyTopic> util = new ExcelUtil<SvyTopic>(SvyTopic.class);
        util.exportExcel(response, list, "题目数据");
    }
 
    /**
     * 获取题目详细信息
     */
    //@PreAuthorize("@ss.hasPermi('system:topic:query')")
    @GetMapping(value = "/{topicid}")
    public AjaxResult getInfo(@PathVariable("topicid") Long topicid) {
        return success(svyTopicService.selectSvyTopicByTopicid(topicid));
    }
 
    /**
     * 新增题目
     */
    //@PreAuthorize("@ss.hasPermi('system:topic:add')")
    @Log(title = "题目", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    public AjaxResult add(@RequestBody SvyTopic svyTopic) {
        SysUser user = getLoginUser().getUser();
        svyTopic.setOrgid(user.getOrgid());
        return toAjax(svyTopicService.insertSvyTopic(svyTopic));
    }
 
    /**
     * 修改题目
     */
    //@PreAuthorize("@ss.hasPermi('system:topic:edit')")
    @Log(title = "题目", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    public AjaxResult edit(@RequestBody SvyTopic svyTopic) {
        return toAjax(svyTopicService.updateSvyTopic(svyTopic));
    }
 
    /**
     * 删除题目
     */
    //@PreAuthorize("@ss.hasPermi('system:topic:remove')")
    @Log(title = "题目", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{topicids}")
    public AjaxResult remove(@PathVariable Long[] topicids) {
        return toAjax(svyTopicService.deleteSvyTopicByTopicids(topicids));
    }
 
    /**
     * 批量导入问题目
     */
    @ApiOperation("批量导入题目")
    @PostMapping("/importTopic")
    public AjaxResult importTopic(@RequestPart(value = "file") MultipartFile multipartFile) {
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        return success(svyTopicService.importLitTopic(user, multipartFile));
    }
 
    /**
     * 导入题目模板
     *
     * @param response
     */
    @ApiOperation("导入题目模板")
    @PostMapping("/importTopicTemplate")
    public void importTopicTemplate(HttpServletResponse response) {
        ExcelUtil<SvyLibScriptRes> util = new ExcelUtil<SvyLibScriptRes>(SvyLibScriptRes.class);
        util.importTemplateExcel(response, "导入题目");
    }
 
    /**
     * 获取题目
     */
    @ApiOperation("获取题目")
    @PostMapping("/showTopic")
    public AjaxResult showTopic(@RequestBody SvyTopicReq svyTopicReq) {
        return success(svyTopicService.showTopic(svyTopicReq));
    }
}