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 ls 
 | 
 * @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<IvrLibaScript> 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<IvrLibaScript> list = ivrLibaScriptService.selectIvrLibaScriptList(ivrLibaScript); 
 | 
        ExcelUtil<IvrLibaScript> util = new ExcelUtil<IvrLibaScript>(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)); 
 | 
    } 
 | 
  
 | 
} 
 |