package com.ruoyi.web.controller.smartor; import com.github.pagehelper.PageInfo; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.HttpStatus; 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.utils.PageUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.IvrLibaTarget; import com.smartor.domain.IvrLibaTargetVO; import com.smartor.service.IIvrLibaTargetService; 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 javax.servlet.http.HttpServletResponse; import java.util.List; /** * 指标选项库Controller * * @author ruoyi * @date 2023-12-14 */ @Api(description = "指标库") @RestController @RequestMapping("/smartor/target") public class IvrLibaTargetController extends BaseController { @Autowired private IIvrLibaTargetService ivrLibaTargetService; /** * 查询指标选项库列表 */ @ApiOperation("查询指标列表") //@PreAuthorize("@ss.hasPermi('system:target:list')") @PostMapping("/list") public TableDataInfo list(@RequestBody IvrLibaTarget ivrLibaTarget) { PageUtils.startPageByPost(ivrLibaTarget.getPageNum(), ivrLibaTarget.getPageSize()); List list = ivrLibaTargetService.selectIvrLibaTargetList(ivrLibaTarget); return getDataTable(list); } /** * 导出指标列表 */ //@PreAuthorize("@ss.hasPermi('system:target:export')") @Log(title = "指标库", businessType = BusinessType.EXPORT) @ApiOperation("导出指标列表") @PostMapping("/export") public void export(HttpServletResponse response, IvrLibaTarget ivrLibaTarget) { List list = ivrLibaTargetService.selectIvrLibaTargetList(ivrLibaTarget); ExcelUtil util = new ExcelUtil(IvrLibaTarget.class); util.exportExcel(response, list, "指标选项库数据"); } /** * 获取指标信息通过id */ @ApiOperation("获取指标信息通过id") //@PreAuthorize("@ss.hasPermi('system:target:query')") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(ivrLibaTargetService.selectIvrLibaTargetByTargetID(id)); } /** * 新增指标 */ //@PreAuthorize("@ss.hasPermi('system:target:add')") @Log(title = "指标选项库", businessType = BusinessType.INSERT) @ApiOperation("新增指标(这个接口没啥用了,用”新增或修改指标信息“这个接口好一些)") @PostMapping("/add") public AjaxResult add(@RequestBody IvrLibaTargetVO ivrLibaTargetVO) { SysUser user = getLoginUser().getUser(); ivrLibaTargetVO.setOrgid(user.getOrgid()); return toAjax(ivrLibaTargetService.insertIvrLibaTarget(ivrLibaTargetVO)); } /** * 新增或修改指标信息 */ @ApiOperation("新增或修改指标信息") @Log(title = "指标选项库", businessType = BusinessType.UPDATE) @PostMapping("/saveOrupdateIvrLibaTarget") public AjaxResult saveOrupdateIvrLibaTarget(@RequestBody IvrLibaTargetVO ivrLibaTargetVO) { SysUser user = getLoginUser().getUser(); ivrLibaTargetVO.setOrgid(user.getOrgid()); return toAjax(ivrLibaTargetService.saveOrupdateIvrLibaTarget(ivrLibaTargetVO)); } /** * 删除指标 */ @ApiOperation("删除指标") //@PreAuthorize("@ss.hasPermi('system:target:remove')") @Log(title = "指标选项库", businessType = BusinessType.DELETE) @GetMapping("/remove/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(ivrLibaTargetService.deleteIvrLibaTargetByTargetIDs(ids)); } /** * 查询指标选项库列表 */ @ApiOperation("查询指标和关联的指标选项") //@PreAuthorize("@ss.hasPermi('system:target:list')") @PostMapping("/targetInfo") public TableDataInfo targetInfo(@RequestBody IvrLibaTarget ivrLibaTarget) { PageUtils.startPageByPost(ivrLibaTarget.getPageNum(), ivrLibaTarget.getPageSize()); //这个用来获取分页数据 List ivrLibaTargetVOS = ivrLibaTargetService.targetInfo(ivrLibaTarget); //用于分页 ivrLibaTarget.setPageNum(null); ivrLibaTarget.setPageSize(null); List ivrLibaTargets = ivrLibaTargetService.selectIvrLibaTargetList(ivrLibaTarget); //分页 TableDataInfo rspData = new TableDataInfo(); rspData.setCode(HttpStatus.SUCCESS); rspData.setMsg("查询成功"); rspData.setRows(ivrLibaTargetVOS); rspData.setTotal(new PageInfo(ivrLibaTargets).getTotal()); return rspData; } /** * 指标测试问题匹配 */ @ApiOperation("指标测试问题匹配") @PostMapping("/targetQuesMate") public AjaxResult targetQuesMate(@RequestBody IvrLibaTargetVO ivrLibaTarget) { return success(ivrLibaTargetService.targetQuesMate(ivrLibaTarget)); } }