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.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.IvrLibaScript; import com.smartor.domain.IvrLibaScriptVO; import com.smartor.service.IIvrLibaScriptService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; /** * 问题话术库Controller * * @author ruoyi * @date 2023-12-21 */ @Api(description = "问题话术库") @RestController @RequestMapping("/smartor/script") public class IvrLibaScriptController extends BaseController { @Autowired private IIvrLibaScriptService ivrLibaScriptService; /** * 查询问题话术库列表 */ @ApiOperation("查询问题话术库列表") //@PreAuthorize("@ss.hasPermi('system:script:list')") @PostMapping("/list") public TableDataInfo list(@RequestBody IvrLibaScript ivrLibaScript) { PageUtils.startPageByPost(ivrLibaScript.getPageNum(),ivrLibaScript.getPageSize()); List list = ivrLibaScriptService.selectIvrLibaScriptList(ivrLibaScript); return getDataTable(list); } /** * 导出问题话术库列表 */ @ApiOperation("导出问题话术库列表") //@PreAuthorize("@ss.hasPermi('system:script:export')") @Log(title = "问题话术库", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, IvrLibaScript ivrLibaScript) { List list = ivrLibaScriptService.selectIvrLibaScriptList(ivrLibaScript); ExcelUtil util = new ExcelUtil(IvrLibaScript.class); util.exportExcel(response, list, "问题话术库数据"); } /** * 获取问题话术库详细信息 */ @ApiOperation("获取问题话术库详细信息") //@PreAuthorize("@ss.hasPermi('system:script:query')") @GetMapping(value = "/getInfo/{questionid}") public AjaxResult getInfo(@PathVariable("questionid") String questionid) { return success(ivrLibaScriptService.selectIvrLibaScriptByQuestionid(questionid)); } /** * 新增问题话术库 */ @ApiOperation("新增问题话术库") //@PreAuthorize("@ss.hasPermi('system:script:add')") @Log(title = "问题话术库", businessType = BusinessType.INSERT) @PostMapping("/add") public AjaxResult add(@RequestBody IvrLibaScript ivrLibaScript) { SysUser user = getLoginUser().getUser(); ivrLibaScript.setOrgid(user.getOrgid()); return toAjax(ivrLibaScriptService.insertIvrLibaScript(ivrLibaScript)); } /** * 修改问题话术库 */ @ApiOperation("修改问题话术库") //@PreAuthorize("@ss.hasPermi('system:script:edit')") @Log(title = "问题话术库", businessType = BusinessType.UPDATE) @PostMapping("/edit") public AjaxResult edit(@RequestBody IvrLibaScript ivrLibaScript) { return toAjax(ivrLibaScriptService.updateIvrLibaScript(ivrLibaScript)); } /** * 删除问题话术库 */ @ApiOperation("删除问题话术库") //@PreAuthorize("@ss.hasPermi('system:script:remove')") @Log(title = "问题话术库", businessType = BusinessType.DELETE) @GetMapping("/remove/{questionids}") public AjaxResult remove(@PathVariable String[] questionids) { return toAjax(ivrLibaScriptService.deleteIvrLibaScriptByQuestionids(questionids)); } /** * 查询问题话术详情根据条件 */ @ApiOperation("查询问题话术详情根据条件") //@PreAuthorize("@ss.hasPermi('system:script:list')") @PostMapping("/selectInfoByCondition") public AjaxResult selectInfoByCondition(@RequestBody IvrLibaScriptVO ivrLibaScriptVO) { if (ObjectUtils.isEmpty(ivrLibaScriptVO)) { throw new BaseException("入参为空,请检查入参"); } startPage(); IvrLibaScriptVO ivrLibaScriptVO1 = ivrLibaScriptService.selectInfoByCondition(ivrLibaScriptVO); return success(ivrLibaScriptVO1); } /** * 新增或修改问题详情 */ @ApiOperation("新增或修改问题详情") //@PreAuthorize("@ss.hasPermi('system:script:list')") @PostMapping("/saveOrUpdateScript") public AjaxResult saveOrUpdateScript(@RequestBody IvrLibaScriptVO ivrLibaScriptVO) { if (ObjectUtils.isEmpty(ivrLibaScriptVO)) { throw new BaseException("入参为空,请检查入参"); } SysUser user = getLoginUser().getUser(); ivrLibaScriptVO.setOrgid(user.getOrgid()); return success(ivrLibaScriptService.saveOrUpdateScript(ivrLibaScriptVO)); } }