liusheng
2023-06-15 ccb88dea3ea2f4330b1790050c14812eac4ad61b
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
135
136
137
138
139
140
141
142
143
144
145
146
147
package com.ruoyi.web.controller.smartor;
 
import java.util.List;
import javax.servlet.http.HttpServletResponse;
 
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.smartor.domain.PatImportInfoVO;
import com.smartor.domain.SvyLibTopicRes;
import com.smartor.domain.SvyTopicReq;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.smartor.domain.SvyLibTopic;
import com.smartor.service.ISvyLibTopicService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
 
/**
 * 问卷题目Controller
 *
 * @author ruoyi
 * @date 2023-03-03
 */
@Api(description = "问卷题目")
@RestController
@RequestMapping("/smartor/svytopic")
public class SvyLibTopicController extends BaseController {
    @Autowired
    private ISvyLibTopicService svyLibTopicService;
 
    /**
     * 查询问卷题目列表
     */
    @PreAuthorize("@ss.hasPermi('smartor:svytopic:list')")
    @GetMapping("/list")
    public TableDataInfo list(SvyLibTopic svyLibTopic) {
        startPage();
        List<SvyLibTopic> list = svyLibTopicService.selectSvyLibTopicList(svyLibTopic);
        return getDataTable(list);
    }
 
    /**
     * 导出问卷题目列表
     */
    @PreAuthorize("@ss.hasPermi('smartor:svytopic:export')")
    @Log(title = "问卷题目", businessType = BusinessType.EXPORT)
    @ApiOperation("导出问卷题目列表")
    @PostMapping("/export")
    public void export(HttpServletResponse response, SvyLibTopic svyLibTopic) {
        List<SvyLibTopic> list = svyLibTopicService.selectSvyLibTopicList(svyLibTopic);
        ExcelUtil<SvyLibTopic> util = new ExcelUtil<SvyLibTopic>(SvyLibTopic.class);
        util.exportExcel(response, list, "问卷题目数据");
    }
 
    /**
     * 获取问卷题目详细信息
     */
    @ApiOperation("获取问卷题目详细信息")
    @PreAuthorize("@ss.hasPermi('smartor:svytopic:query')")
    @GetMapping(value = "/{topicid}")
    public AjaxResult getInfo(@PathVariable("topicid") Long topicid) {
        return success(svyLibTopicService.selectSvyLibTopicByTopicid(topicid));
    }
 
    /**
     * 新增问卷题目
     */
    @ApiOperation("新增问卷题目")
    @PreAuthorize("@ss.hasPermi('smartor:svytopic:add')")
    @Log(title = "问卷题目", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SvyLibTopic svyLibTopic) {
        return toAjax(svyLibTopicService.insertSvyLibTopic(svyLibTopic));
    }
 
    /**
     * 修改问卷题目
     */
    @ApiOperation("修改问卷题目")
    @PreAuthorize("@ss.hasPermi('smartor:svytopic:edit')")
    @Log(title = "问卷题目", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SvyLibTopic svyLibTopic) {
        return toAjax(svyLibTopicService.updateSvyLibTopic(svyLibTopic));
    }
 
    /**
     * 删除问卷题目
     */
    @ApiOperation("删除问卷题目")
    @PreAuthorize("@ss.hasPermi('smartor:svytopic:remove')")
    @Log(title = "问卷题目", businessType = BusinessType.DELETE)
    @DeleteMapping("/{topicids}")
    public AjaxResult remove(@PathVariable Long[] topicids) {
        return toAjax(svyLibTopicService.deleteSvyLibTopicByTopicids(topicids));
    }
 
 
    /**
     * 批量导入问题目
     */
    @ApiOperation("批量导入问问题目")
    @PostMapping("/importLitTopic")
    public AjaxResult importLitTopic(MultipartFile multipartFile) {
        LoginUser loginUser = getLoginUser();
        SysUser user = loginUser.getUser();
        return success(svyLibTopicService.importLitTopic(user, multipartFile));
    }
 
 
    /**
     * 导入题目模板
     *
     * @param response
     */
    @ApiOperation("导入题目模板")
    @PostMapping("/importLitTopicTemplate")
    public void importLitTopicTemplate(HttpServletResponse response) {
        ExcelUtil<SvyLibTopicRes> util = new ExcelUtil<SvyLibTopicRes>(SvyLibTopicRes.class);
        util.importTemplateExcel(response, "导入题目");
    }
 
    /**
     * 获取题目
     */
    @ApiOperation("获取题目")
    @PostMapping("/showTopic")
    public AjaxResult showTopic(@RequestBody SvyTopicReq svyTopicReq) {
        return success(svyLibTopicService.showTopic(svyTopicReq));
    }
 
}