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.RSAPublicKeyExample; 
 | 
import com.ruoyi.common.utils.StringUtils; 
 | 
import com.ruoyi.common.utils.poi.ExcelUtil; 
 | 
import com.smartor.domain.*; 
 | 
import com.smartor.service.IServiceSubtaskAnswerService; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import lombok.extern.slf4j.Slf4j; 
 | 
import org.apache.commons.lang3.ObjectUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.beans.factory.annotation.Value; 
 | 
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-07-18 
 | 
 */ 
 | 
@Slf4j 
 | 
@Api(description = "任务问卷问题选项") 
 | 
@RestController 
 | 
@RequestMapping("/smartor/subtaskAnswer") 
 | 
public class ServiceSubtaskAnswerController extends BaseController { 
 | 
    @Autowired 
 | 
    private IServiceSubtaskAnswerService serviceSubtaskAnswerService; 
 | 
  
 | 
  
 | 
    @Value("${pri_key}") 
 | 
    private String pri_key; 
 | 
  
 | 
    /** 
 | 
     * 查询任务问卷问题选项列表 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:answer:list')") 
 | 
    @ApiOperation("查询任务问卷问题选项列表") 
 | 
    @GetMapping("/list") 
 | 
    public TableDataInfo list(ServiceSubtaskAnswer serviceSubtaskAnswer) { 
 | 
        startPage(); 
 | 
        List<ServiceSubtaskAnswer> list = serviceSubtaskAnswerService.selectServiceSubtaskAnswerList(serviceSubtaskAnswer); 
 | 
        return getDataTable(list); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 导出任务问卷问题选项列表 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:answer:export')") 
 | 
    @Log(title = "任务问卷问题选项", businessType = BusinessType.EXPORT) 
 | 
    @ApiOperation("任务问卷问题选项") 
 | 
    @PostMapping("/export") 
 | 
    public void export(HttpServletResponse response, ServiceSubtaskAnswer serviceSubtaskAnswer) { 
 | 
        List<ServiceSubtaskAnswer> list = serviceSubtaskAnswerService.selectServiceSubtaskAnswerList(serviceSubtaskAnswer); 
 | 
        ExcelUtil<ServiceSubtaskAnswer> util = new ExcelUtil<ServiceSubtaskAnswer>(ServiceSubtaskAnswer.class); 
 | 
        util.exportExcel(response, list, "任务问卷问题选项数据"); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取任务问卷问题选项详细信息 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:answer:query')") 
 | 
    @GetMapping(value = "/getInfo/{id}") 
 | 
    @ApiOperation("获取任务问卷问题选项详细信息") 
 | 
    public AjaxResult getInfo(@PathVariable("id") Long id) { 
 | 
        return success(serviceSubtaskAnswerService.selectServiceSubtaskAnswerById(id)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 新增任务问卷问题选项 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:answer:add')") 
 | 
    @Log(title = "任务问卷问题选项", businessType = BusinessType.INSERT) 
 | 
    @ApiOperation("新增任务问卷问题选项") 
 | 
    @PostMapping("/add") 
 | 
    public AjaxResult add(@RequestBody ServiceSubtaskAnswer serviceSubtaskAnswer) { 
 | 
        SysUser user = getLoginUser().getUser(); 
 | 
        serviceSubtaskAnswer.setOrgid(user.getOrgid()); 
 | 
        return toAjax(serviceSubtaskAnswerService.insertServiceSubtaskAnswer(serviceSubtaskAnswer)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 修改任务问卷问题选项 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:answer:edit')") 
 | 
    @Log(title = "任务问卷问题选项", businessType = BusinessType.UPDATE) 
 | 
    @ApiOperation("修改任务问卷问题选项") 
 | 
    @PostMapping("/edit") 
 | 
    public AjaxResult edit(@RequestBody ServiceSubtaskAnswer serviceSubtaskAnswer) { 
 | 
        log.info("【saveQuestionCache-----edit】的入参为:{}", serviceSubtaskAnswer); 
 | 
        return toAjax(serviceSubtaskAnswerService.updateServiceSubtaskAnswer(serviceSubtaskAnswer)); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 删除任务问卷问题选项 
 | 
     */ 
 | 
    //@PreAuthorize("@ss.hasPermi('system:answer:remove')") 
 | 
    @Log(title = "任务问卷问题选项", businessType = BusinessType.DELETE) 
 | 
    @ApiOperation("删除任务问卷问题选项") 
 | 
    @DeleteMapping("/remove/{ids}") 
 | 
    public AjaxResult remove(@PathVariable Long[] ids) { 
 | 
        log.info("【saveQuestionCache-----remove】的入参为:{}", ids); 
 | 
        return toAjax(serviceSubtaskAnswerService.deleteServiceSubtaskAnswerByIds(ids)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("患者问题结果记录(外链)") 
 | 
    @PostMapping("/saveQuestionAnswer") 
 | 
    public AjaxResult saveQuestionAnswer(@RequestBody ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) { 
 | 
        log.info("【saveQuestionCache-----saveQuestionAnswer】的入参为:{}", serviceSubTaskAnswerReq); 
 | 
        return toAjax(serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 0L)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @ApiOperation("患者问题结果记录缓存(小程序外链)") 
 | 
    @PostMapping("/saveQuestionCacheXCH") 
 | 
    public AjaxResult saveQuestionCacheXCH(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { 
 | 
        log.info("【saveQuestionCache-----saveQuestionCacheXCH】的入参为:{}", serviceSubTaskCacheReq); 
 | 
        return toAjax(serviceSubtaskAnswerService.saveQuestionCache(serviceSubTaskCacheReq, 1L)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @ApiOperation("患者问题结果记录(小程充外链)") 
 | 
    @PostMapping("/saveQuestionAnswerXCH") 
 | 
    public AjaxResult saveQuestionAnswerXCH(@RequestBody ServiceSubTaskAnswerReq serviceSubTaskAnswerReq) { 
 | 
        log.info("【saveQuestionCache-----saveQuestionAnswerXCH】的入参为:{}", serviceSubTaskAnswerReq); 
 | 
        return toAjax(serviceSubtaskAnswerService.saveQuestionAnswer(serviceSubTaskAnswerReq, 1L)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("获取患者问题结果记录缓存(小程序外链)") 
 | 
    @PostMapping("/getQuestionCacheXCH") 
 | 
    public AjaxResult getQuestionCacheXCH(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { 
 | 
        log.info("【saveQuestionCache-----getQuestionCacheXCH】的入参为:{}", serviceSubTaskCacheReq); 
 | 
        if (StringUtils.isEmpty(serviceSubTaskCacheReq.getParam1()) || StringUtils.isEmpty(serviceSubTaskCacheReq.getParam2())) 
 | 
            throw new BaseException("请检查param1或param2的值"); 
 | 
        return AjaxResult.success(serviceSubtaskAnswerService.getQuestionCache(serviceSubTaskCacheReq, 1L)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("患者问题结果记录缓存(外链)") 
 | 
    @PostMapping("/saveQuestionCache") 
 | 
    public AjaxResult saveQuestionCache(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { 
 | 
        log.info("【saveQuestionCache-----saveQuestionCache】的入参为:{}", serviceSubTaskCacheReq); 
 | 
        return toAjax(serviceSubtaskAnswerService.saveQuestionCache(serviceSubTaskCacheReq, 0L)); 
 | 
    } 
 | 
  
 | 
    @ApiOperation("获取患者问题结果记录缓存(外链)") 
 | 
    @PostMapping("/getQuestionCache") 
 | 
    public AjaxResult getQuestionCache(@RequestBody ServiceSubTaskCacheReq serviceSubTaskCacheReq) { 
 | 
        log.info("【saveQuestionCache-----getQuestionCache】的入参为:{}", serviceSubTaskCacheReq); 
 | 
        if (StringUtils.isEmpty(serviceSubTaskCacheReq.getParam1()) || StringUtils.isEmpty(serviceSubTaskCacheReq.getParam2())) 
 | 
            throw new BaseException("请检查param1或param2的值"); 
 | 
        return AjaxResult.success(serviceSubtaskAnswerService.getQuestionCache(serviceSubTaskCacheReq, 0L)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @ApiOperation("医生查询患者问题结果(外链)") 
 | 
    @PostMapping("/selectPatQuestionResult") 
 | 
    public AjaxResult selectPatQuestionResult(@RequestBody ServiceSubTaskQueryReq serviceSubTaskQueryReq) { 
 | 
        log.info("【saveQuestionCache-----selectPatQuestionResult】的入参为:{}", serviceSubTaskQueryReq); 
 | 
        return AjaxResult.success(serviceSubtaskAnswerService.selectPatQuestionResult(serviceSubTaskQueryReq)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @ApiOperation("患者满意度结果记录(外链)") 
 | 
    @PostMapping("/saveMYDQuestionAnswer") 
 | 
    public AjaxResult saveMYDQuestionAnswer(@RequestBody ServiceSubTaskMYDAnswerReq serviceSubTaskAnswerReq) { 
 | 
        log.info("【saveQuestionCache-----saveMYDQuestionAnswer】的入参为:{}", serviceSubTaskAnswerReq); 
 | 
        RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); 
 | 
        String taskId = rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getTaskId(), pri_key); 
 | 
        String serialnum = rsaPublicKeyExample.decryptedData(serviceSubTaskAnswerReq.getSerialnum(), pri_key); 
 | 
        serviceSubTaskAnswerReq.setTaskId(taskId); 
 | 
        serviceSubTaskAnswerReq.setSerialnum(serialnum); 
 | 
        return toAjax(serviceSubtaskAnswerService.saveMYDQuestionAnswer(serviceSubTaskAnswerReq)); 
 | 
    } 
 | 
  
 | 
} 
 |