diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/AskQuestionLibraryManageController.java b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/AskQuestionLibraryManageController.java index 37064aba..29673ab9 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/AskQuestionLibraryManageController.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/controller/config/AskQuestionLibraryManageController.java @@ -3,11 +3,13 @@ package com.supervision.manage.controller.config; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.manage.service.AskQuestionLibraryManageService; +import com.supervision.model.AskTemplateQuestionLibrary; import com.supervision.model.CommonDic; import com.supervision.vo.manage.AskQuestionLibraryReqVo; import com.supervision.vo.manage.AskQuestionLibraryResVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.parameters.RequestBody; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -39,6 +41,31 @@ public class AskQuestionLibraryManageController { } + @ApiOperation("保存问题库信息") + @PostMapping("/saveQuestionLibrary") + public String saveQuestionLibrary(@RequestBody AskTemplateQuestionLibrary askTemplateQuestionLibrary) { + + return askQuestionLibraryManageService.saveQuestionLibrary(askTemplateQuestionLibrary); + + } + + + @ApiOperation("更新问题库信息") + @PostMapping("/updateQuestionLibrary") + public boolean updateQuestionLibrary(@RequestBody AskTemplateQuestionLibrary askTemplateQuestionLibrary) { + + return askQuestionLibraryManageService.updateQuestionLibrary(askTemplateQuestionLibrary); + + } + + @ApiOperation("删除问题库信息") + @PostMapping("/deleteQuestionLibrary") + public boolean deleteQuestionLibrary(@RequestParam("id") String id) { + + return askQuestionLibraryManageService.deleteQuestionLibrary(id); + + } + @ApiOperation("查询问题类目编码列表") @GetMapping("/queryItemList") public List queryItemList() { diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/AskQuestionLibraryManageService.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/AskQuestionLibraryManageService.java index e46c65eb..191806a9 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/AskQuestionLibraryManageService.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/AskQuestionLibraryManageService.java @@ -1,6 +1,7 @@ package com.supervision.manage.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.supervision.model.AskTemplateQuestionLibrary; import com.supervision.model.CommonDic; import com.supervision.vo.manage.AskQuestionLibraryReqVo; import com.supervision.vo.manage.AskQuestionLibraryResVo; @@ -14,4 +15,9 @@ public interface AskQuestionLibraryManageService { List queryItemList(); + String saveQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary); + + boolean updateQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary); + + boolean deleteQuestionLibrary(String id); } diff --git a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskQuestionLibraryManageServiceImpl.java b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskQuestionLibraryManageServiceImpl.java index b907e631..162550bb 100644 --- a/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskQuestionLibraryManageServiceImpl.java +++ b/virtual-patient-manage/src/main/java/com/supervision/manage/service/impl/AskQuestionLibraryManageServiceImpl.java @@ -1,8 +1,9 @@ package com.supervision.manage.service.impl; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.supervision.manage.service.AskQuestionLibraryManageService; +import com.supervision.model.AskTemplateQuestionLibrary; import com.supervision.model.CommonDic; import com.supervision.service.AskTemplateQuestionLibraryService; import com.supervision.service.CommonDicService; @@ -38,4 +39,33 @@ public class AskQuestionLibraryManageServiceImpl implements AskQuestionLibraryMa public List queryItemList() { return commonDicService.lambdaQuery().eq(CommonDic::getGroupCode, "AQT").isNull(CommonDic::getParentId).list(); } + + @Override + public String saveQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary) { + assertSave(askTemplateQuestionLibrary); + + askTemplateQuestionLibraryService.save(askTemplateQuestionLibrary); + return askTemplateQuestionLibrary.getId(); + } + + @Override + public boolean updateQuestionLibrary(AskTemplateQuestionLibrary askTemplateQuestionLibrary) { + Assert.notEmpty(askTemplateQuestionLibrary.getId(),"id不能为空"); + assertSave(askTemplateQuestionLibrary); + + return askTemplateQuestionLibraryService.updateById(askTemplateQuestionLibrary); + } + + @Override + public boolean deleteQuestionLibrary(String id) { + Assert.notEmpty(id,"id不能为空"); + + return askTemplateQuestionLibraryService.removeById(id); + } + + private void assertSave(AskTemplateQuestionLibrary askTemplateQuestionLibrary){ + Assert.notEmpty(askTemplateQuestionLibrary.getCode(),"编码不能为空"); + Assert.notEmpty(askTemplateQuestionLibrary.getQuestion(),"问题不能为空"); + Assert.notEmpty(askTemplateQuestionLibrary.getDefaultAnswer(),"默认回答不能为空"); + } } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryReqVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryReqVo.java index 16b39160..61d7bd59 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryReqVo.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryReqVo.java @@ -12,4 +12,7 @@ public class AskQuestionLibraryReqVo { @ApiModelProperty("疾病id") private String diseaseId; + @ApiModelProperty("问题") + private String question; + } diff --git a/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryResVo.java b/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryResVo.java index 7e5626f6..0edf74d1 100644 --- a/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryResVo.java +++ b/virtual-patient-model/src/main/java/com/supervision/vo/manage/AskQuestionLibraryResVo.java @@ -28,4 +28,7 @@ public class AskQuestionLibraryResVo { @ApiModelProperty("问题类目名") private String nameZhPath; + + @ApiModelProperty("类目名") + private String nameZh; } diff --git a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml index 6e7985c0..1f62d3e7 100644 --- a/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml +++ b/virtual-patient-model/src/main/resources/mapper/AskTemplateQuestionLibraryMapper.xml @@ -46,14 +46,19 @@ cd.code as code, atql.dict_id as dictId, atql.question as question, - cd.name_zh_path as nameZhPath + cd.name_zh_path as nameZhPath, + cd.name_zh as nameZh from vp_ask_template_question_library atql left join vp_common_dic cd on atql.dict_id = cd.id - AND cd.code = #{askQuestionLibrary.code} + cd.code = #{askQuestionLibrary.code} + + + JSON_EXTRACT(question, '$[*]') like CONCAT('%', #{askQuestionLibrary.question}, '%') + order by atql.create_time desc