提交反馈功能

pull/1/head
liu 11 months ago
parent e13ab07577
commit 80669d4c0f

@ -64,6 +64,14 @@ public class DiagnosisQaRecord extends Model<DiagnosisQaRecord> implements Seria
@Schema(description = "是否是鉴别依据(0否1是)")
private Integer basisIdentificationFlag;
@Schema(description = "反馈类型(1合理 2不合理)")
private Integer feedbackType;
@Schema(description = "反馈项(1回答过于冗长 2答非所问 3内容过于简洁)")
private Integer feedbackItem;
@Schema(description = "反馈备注")
private String feedbackRemark;
/**
* ID
*/

@ -66,6 +66,11 @@ public class Process implements Serializable {
@Schema(description = "删除标识 0:未删除 1:删除")
private Integer deleteFlag;
@Schema(description = "评价级别 1可靠 2基本可靠 3仅供参考")
private Integer evaluateLevel;
@Schema(description = "评价备注内容")
private String evaluateRemark;
/**
* ID
*/

@ -2,13 +2,12 @@ package com.supervision.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.supervision.model.Process;
import com.baomidou.mybatisplus.extension.service.IService;
import com.supervision.model.Process;
import com.supervision.vo.result.DiagnoseProcessReqVo;
import com.supervision.vo.result.DiagnoseProcessResVo;
import com.supervision.vo.result.ProcessRecordVO;
import java.util.List;
import java.util.Set;
/**
@ -26,7 +25,6 @@ public interface ProcessService extends IService<Process> {
* 使,
* @param studentName ID
* @param medicalRecNo
* @param diseaseType
* @return
*/
IPage<ProcessRecordVO> queryProcessRecordPage(String studentName, String medicalRecNo, Set<String> diseaseList, Integer pageNum, Integer pageSize);

@ -8,12 +8,12 @@
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="processId" column="process_id" jdbcType="VARCHAR"/>
<result property="answerId" column="answer_id" jdbcType="VARCHAR"/>
<result property="answerType" column="answer_type" jdbcType="VARCHAR"/>
<result property="question" column="question" jdbcType="VARCHAR"/>
<result property="questionLibraryId" column="question_library_id" jdbcType="VARCHAR"/>
<result property="questionWavId" column="question_wav_id" jdbcType="VARCHAR"/>
<result property="answer" column="answer" jdbcType="VARCHAR"/>
<result property="answerWavId" column="answer_wav_id" jdbcType="VARCHAR"/>
<result property="feedbackItem" column="feedback_item" jdbcType="INTEGER"/>
<result property="feedbackType" column="feedback_type" jdbcType="INTEGER"/>
<result property="feedbackRemark" column="feedback_remark" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>
@ -23,8 +23,7 @@
<sql id="Base_Column_List">
id
,question_answer_type
,process_id,question,question_answer_id,questionLibraryId,
question_wav_id,answer,answer_wav_id,
,process_id,question,questionLibraryId,answer,feedbackItem,feedbackRemark,feedbackType
create_user_id,create_time,update_user_id,
update_time
</sql>

@ -15,6 +15,8 @@
<result property="processType" column="process_type" jdbcType="INTEGER"/>
<result property="finishAskTime" column="finish_ask_time" jdbcType="TIMESTAMP"/>
<result property="deleteFlag" column="delete_flag" jdbcType="INTEGER"/>
<result property="evaluateLevel" column="evaluate_level" jdbcType="INTEGER"/>
<result property="evaluateRemark" column="evaluate_remark" jdbcType="VARCHAR"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>

@ -0,0 +1,29 @@
package com.supervision.controller;
import com.supervision.pojo.vo.FeedBackVO;
import com.supervision.service.FeedbackService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
@Tag(name = "问诊回顾-反馈")
@RestController
@RequestMapping("/feedback")
@RequiredArgsConstructor
public class FeedbackController {
private final FeedbackService feedbackService;
@Operation(summary = "查询问答记录")
@GetMapping("queryQaRecordForFeedback")
public FeedBackVO queryQaRecordForFeedback(String processId) {
return feedbackService.queryQaRecordForFeedback(processId);
}
@Operation(summary = "保存反馈")
@PostMapping("saveFeedback")
public void saveFeedback(@RequestBody FeedBackVO feedbackVO) {
feedbackService.saveFeedback(feedbackVO);
}
}

@ -0,0 +1,25 @@
package com.supervision.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class FeedBackQaVO {
private String id;
@Schema(description = "问题")
private String question;
@Schema(description = "回答")
private String answer;
@Schema(description = "反馈类型(1合理 2不合理)")
private Integer feedbackType;
@Schema(description = "反馈项(1回答过于冗长 2答非所问 3内容过于简洁)")
private Integer feedbackItem;
@Schema(description = "反馈备注")
private String feedbackRemark;
}

@ -0,0 +1,21 @@
package com.supervision.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
@Data
public class FeedBackVO {
@Schema(description = "对话列表")
private List<FeedBackQaVO> qaList;
@Schema(description = "评价级别 1可靠 2基本可靠 3仅供参考")
private Integer evaluateLevel;
@Schema(description = "评价备注内容")
private String evaluateRemark;
private String processId;
}

@ -0,0 +1,10 @@
package com.supervision.service;
import com.supervision.pojo.vo.FeedBackVO;
public interface FeedbackService {
FeedBackVO queryQaRecordForFeedback(String processId);
void saveFeedback(FeedBackVO feedbackVO);
}

@ -0,0 +1,66 @@
package com.supervision.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.supervision.model.DiagnosisQaRecord;
import com.supervision.model.Process;
import com.supervision.pojo.vo.FeedBackQaVO;
import com.supervision.pojo.vo.FeedBackVO;
import com.supervision.service.DiagnosisQaRecordService;
import com.supervision.service.FeedbackService;
import com.supervision.service.ProcessService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Slf4j
@Service
@RequiredArgsConstructor
public class FeedbackServiceImpl implements FeedbackService {
private final ProcessService processService;
private final DiagnosisQaRecordService diagnosisQaRecordService;
@Override
public FeedBackVO queryQaRecordForFeedback(String processId) {
List<DiagnosisQaRecord> qaRecordList = diagnosisQaRecordService.lambdaQuery().eq(DiagnosisQaRecord::getProcessId, processId).list();
List<FeedBackQaVO> feedBackQaVOList = qaRecordList.stream().map(e -> {
FeedBackQaVO feedBackQaVO = new FeedBackQaVO();
feedBackQaVO.setId(e.getId());
feedBackQaVO.setQuestion(e.getQuestion());
feedBackQaVO.setAnswer(e.getAnswer());
feedBackQaVO.setFeedbackType(e.getFeedbackType());
feedBackQaVO.setFeedbackItem(e.getFeedbackItem());
feedBackQaVO.setFeedbackRemark(e.getFeedbackRemark());
return feedBackQaVO;
}).toList();
Process process = processService.getById(processId);
FeedBackVO feedBackVO = new FeedBackVO();
feedBackVO.setQaList(feedBackQaVOList);
feedBackVO.setProcessId(processId);
feedBackVO.setEvaluateLevel(process.getEvaluateLevel());
feedBackVO.setEvaluateRemark(process.getEvaluateRemark());
return feedBackVO;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveFeedback(FeedBackVO feedbackVO) {
processService.lambdaUpdate().eq(Process::getId, feedbackVO.getProcessId())
.set(Process::getEvaluateLevel, feedbackVO.getEvaluateLevel())
.set(Process::getEvaluateRemark, feedbackVO.getEvaluateRemark()).update();
for (FeedBackQaVO feedBackQaVO : feedbackVO.getQaList()) {
if (ObjectUtil.isNotEmpty(feedBackQaVO.getId())) {
diagnosisQaRecordService.lambdaUpdate().eq(DiagnosisQaRecord::getId, feedBackQaVO.getId())
.set(DiagnosisQaRecord::getFeedbackType, feedBackQaVO.getFeedbackType())
.set(DiagnosisQaRecord::getFeedbackItem, feedBackQaVO.getFeedbackItem())
.set(DiagnosisQaRecord::getFeedbackRemark, feedBackQaVO.getFeedbackRemark()).update();
}
}
}
}
Loading…
Cancel
Save