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.DtoConversionUtils; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.smartor.domain.*; import com.smartor.domain.robot.back.RobotAIDialogBack; import com.smartor.domain.robot.back.RobotCallBack; import com.smartor.service.IIvrTaskSingleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; 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 2024-02-02 */ @Slf4j @Api(description = "单一任务(随访宣教)") @RestController @RequestMapping("/smartor/tasksingle") public class IvrTaskSingleController extends BaseController { @Autowired private IIvrTaskSingleService ivrTaskcallService; /** * 查询患者随访信息 */ @ApiOperation("查询患者随访信息") @PreAuthorize("@ss.hasPermi('system:taskcall:list')") @PostMapping("/patItem") public TableDataInfo patItem(@RequestBody IvrTaskSingle ivrTaskcall) { PageUtils.startPageByPost(ivrTaskcall.getPageNum(), ivrTaskcall.getPageSize()); return getDataTable(ivrTaskcallService.patItem(ivrTaskcall)); } /** * 导出单一任务(随访宣教)列表 */ @PreAuthorize("@ss.hasPermi('system:taskcall:export')") @Log(title = "单一任务(随访宣教)", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, IvrTaskSingle ivrTaskcall) { List list = ivrTaskcallService.selectIvrTaskcallList(ivrTaskcall); ExcelUtil util = new ExcelUtil(IvrTaskSingle.class); util.exportExcel(response, list, "单一任务(随访)数据"); } /** * 获取单一任务(随访)详细信息 */ @PreAuthorize("@ss.hasPermi('system:taskcall:query')") @GetMapping(value = "/getInfo/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(ivrTaskcallService.selectIvrTaskcallById(id)); } /** * 新增或修改删除单一任务 */ @ApiOperation("新增或修改删除单一任务") @PreAuthorize("@ss.hasPermi('system:task:add')") @Log(title = "单一任务(随访)", businessType = BusinessType.INSERT) @PostMapping("/insertOrUpdateTask") public AjaxResult insertOrUpdateHeTask(@RequestBody IvrTaskVO ivrTaskVO) { LoginUser loginUser = getLoginUser(); SysUser user = loginUser.getUser(); ivrTaskVO.setCreateBy(user.getNickName()); return toAjax(ivrTaskcallService.insertOrUpdateTask(ivrTaskVO)); } /** * 根据条件查询任务信息 */ @ApiOperation("根据条件查询任务信息") @PostMapping("/queryTaskByCondition") public AjaxResult queryTaskByCondition(@RequestBody IvrTaskSingleVO ivrTaskcallVO) { //根据入参查询信息 IvrTaskSingle ivrTaskcall = DtoConversionUtils.sourceToTarget(ivrTaskcallVO, IvrTaskSingle.class); IvrTaskVO ivrTaskVO = ivrTaskcallService.queryTaskByCondition(ivrTaskcall); return success(ivrTaskVO); } /** * 电话回调任务(上海) */ @ApiOperation("电话回调任务") @PostMapping("/phoneCallBack") public AjaxResult phoneCallBack(@RequestBody PhoneCallBackVO phoneCallBackVO) { // log.error("电话回调任务成功了不?{}", phoneCallBackVO); ivrTaskcallService.phoneCallBack(phoneCallBackVO); return success(); } }