lifang 3 hónapja
szülő
commit
ec258568aa

+ 2 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/mapper/BizQuestionMapper.java

@@ -32,6 +32,8 @@ public interface BizQuestionMapper {
 
     List<BizQuestionEntity> convertEntityList(List<BizQuestionPO> source);
 
+    List<BizQuestionEntity> voConvertEntityList(List<BizWxDeptQuestionVO> source);
+
     List<BizQuestionEntity> cwxDeptQuesiontCnvertEntityList(List<BizWxDeptQuestionVO> source);
 
     List<BizWxDeptQuestionVO> convertWxDeptQuestionVOList(List<BizQuestionPO> list);

+ 3 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizQuestionGroupService.java

@@ -12,6 +12,7 @@ import cn.tr.module.smart.wx.controller.vo.BizUndoMsgPushResultVO;
 import cn.tr.module.smart.wx.controller.vo.BizWebQuestionGroupVO;
 import com.alibaba.dashscope.exception.InputRequiredException;
 import com.alibaba.dashscope.exception.NoApiKeyException;
+import org.springframework.cache.annotation.Cacheable;
 
 import java.util.Collection;
 import java.util.List;
@@ -94,4 +95,6 @@ public interface IBizQuestionGroupService{
     BizUndoMsgPushResultVO pushMpInfo(AppMessageQuestionGroupPushDTO source);
 
     BizWebQuestionGroupVO groupDetailByAi(String clinicId) throws NoApiKeyException, InputRequiredException;
+
+    BizWebQuestionGroupVO getGroupDetailByAi(String clinicId);
 }

+ 11 - 5
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizQuestionAnswerServiceImpl.java

@@ -21,15 +21,13 @@ import cn.tr.module.smart.common.repository.BizClinicRoomRepository;
 import cn.tr.module.smart.common.repository.BizQuestionAnswerRepository;
 import cn.tr.module.smart.common.repository.BizQuestionGroupRepository;
 import cn.tr.module.smart.common.repository.BizQuestionRepository;
-import cn.tr.module.smart.common.service.IBizClinicRoomService;
-import cn.tr.module.smart.common.service.IBizClinicRoomUndoService;
-import cn.tr.module.smart.common.service.IBizQuestionAnswerService;
-import cn.tr.module.smart.common.service.IBizQuestionService;
+import cn.tr.module.smart.common.service.*;
 import cn.tr.module.smart.web.dto.BizWebQuestionAnswerByClinicIdDTO;
 import cn.tr.module.smart.web.dto.BizWebQuestionAnswerDTO;
 import cn.tr.module.smart.web.dto.BizWebQuestionAnswerQueryDTO;
 import cn.tr.module.smart.web.dto.BizWebQuestionQueryDTO;
 import cn.tr.module.smart.web.vo.BizWebQuestionAnswerVO;
+import cn.tr.module.smart.wx.controller.vo.BizWebQuestionGroupVO;
 import cn.tr.module.smart.wx.controller.vo.BizWxDeptQuestionVO;
 import cn.tr.module.smart.wx.dto.BizWxAppletCommitSurgeryQuestionDTO;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -60,6 +58,9 @@ public class BizQuestionAnswerServiceImpl implements IBizQuestionAnswerService {
 
     @Autowired
     private BizQuestionGroupRepository bizQuestionGroupRepository;
+    @Autowired
+    @Lazy
+    private IBizQuestionGroupService questionGroupService;
 
     @Autowired
     private BizClinicRoomRepository clinicRoomRepository;
@@ -166,7 +167,12 @@ public class BizQuestionAnswerServiceImpl implements IBizQuestionAnswerService {
                 .eq(BizQuestionPO::getGroupId, source.getQuestionGroupId()))
         );
         if (CollectionUtil.isEmpty(questionList)) {
-            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "问卷问题为空,提交失败");
+            BizWebQuestionGroupVO groupDetailByAi = questionGroupService.getGroupDetailByAi(source.getClinicId());
+            if (ObjectUtil.isNull(groupDetailByAi)) {
+                throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "问卷问题为空,提交失败");
+            }
+            questionList=  BizQuestionMapper.INSTANCE.voConvertEntityList(groupDetailByAi.getQuestionList());
+
         }
         questionAnswer.setQuestionType(ClinicPhaseEnums.AFTER);
         questionAnswer.setQuestion(questionList);

+ 7 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizQuestionGroupServiceImpl.java

@@ -411,7 +411,7 @@ public class BizQuestionGroupServiceImpl implements IBizQuestionGroupService {
     }
 
     @Override
-    @Cacheable(value = "ai::preSurgeryQuestionnaire#2592000",key = "'groupId:' + #clinicId")
+    @Cacheable(value = "ai::groupDetailByAi#2592000",key = "'groupId:' + #clinicId")
     public BizWebQuestionGroupVO groupDetailByAi(String clinicId) throws NoApiKeyException, InputRequiredException {
         BizWebQuestionGroupVO result = new BizWebQuestionGroupVO();
         result.setGroupName("AI术后问卷");
@@ -434,4 +434,10 @@ public class BizQuestionGroupServiceImpl implements IBizQuestionGroupService {
                 .collect(Collectors.toList()));
         return result;
     }
+
+    @Cacheable(value = "ai::groupDetailByAi#2592000", key = "'groupId:' + #clinicId")
+    @Override
+    public BizWebQuestionGroupVO getGroupDetailByAi(String clinicId){
+        return null;
+    }
 }