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)); 
 | 
    } 
 | 
} 
 |