Pārlūkot izejas kodu

Merge commit '5705f5ca16f5142fadf3481e676c893802cfb885'

lihao16 4 mēneši atpakaļ
vecāks
revīzija
91fa07ea00

+ 7 - 0
smsb-modules/smsb-digital-promotion/src/main/java/com/inspur/digital/domain/vo/SmsbScDeviceStartInfoVo.java

@@ -2,6 +2,8 @@ package com.inspur.digital.domain.vo;
 
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * 数促项目
  * 前端扫码 查询预约数据 返回欢迎词
@@ -32,4 +34,9 @@ public class SmsbScDeviceStartInfoVo {
      */
     private String helloWorld;
 
+    /**
+     * 套餐列表
+     */
+    private List<SmsbScDeviceStartProductVO> productVOList;
+
 }

+ 16 - 0
smsb-modules/smsb-digital-promotion/src/main/java/com/inspur/digital/domain/vo/SmsbScDeviceStartProductVO.java

@@ -0,0 +1,16 @@
+package com.inspur.digital.domain.vo;
+
+import lombok.Data;
+
+/**
+ * 数促项目 产品推荐列表显示
+ * @author lihao16
+ */
+@Data
+public class SmsbScDeviceStartProductVO {
+
+    private String name;
+
+    private String photo;
+
+}

+ 44 - 4
smsb-modules/smsb-digital-promotion/src/main/java/com/inspur/digital/service/impl/SmsbAppointmentInfoServiceImpl.java

@@ -583,7 +583,11 @@ public class SmsbAppointmentInfoServiceImpl implements ISmsbAppointmentInfoServi
                     .eq(SmsbDeviceChatScReport::getAppointmentId, appointmentInfo.getId())
                     .eq(SmsbDeviceChatScReport::getType, 1)
                     .orderByDesc(SmsbDeviceChatScReport::getAppointmentId).last("limit 1"));
-                deviceStartInfo.setHelloWorld(report.getContent());
+                if (report != null) {
+                    deviceStartInfo.setHelloWorld(report.getContent());
+                }else {
+                    deviceStartInfo.setHelloWorld("你好," + appointmentInfo.getEnterprise() + "企业,我是小数智能分析助手,有什么可以帮你?");
+                }
                 List<SmsbDeviceChatScReportVo> reportVoList = smsbDeviceChatScReportMapper.selectVoList(new LambdaQueryWrapper<SmsbDeviceChatScReport>()
                     .eq(SmsbDeviceChatScReport::getAppointmentId, appointmentInfo.getId())
                     .eq(SmsbDeviceChatScReport::getType, 2));
@@ -591,27 +595,59 @@ public class SmsbAppointmentInfoServiceImpl implements ISmsbAppointmentInfoServi
                     reportContentList = reportVoList.stream().map(SmsbDeviceChatScReportVo::getContent).collect(Collectors.toList());
                 }
             } else if (deviceGroupRel.getSceneSort().equals(DEFAULT_SCENE_SORT_2)) {
+                List<SmsbScDeviceStartProductVO> productVOList = new ArrayList<>();
                 SmsbDeviceChatScCaseVo caseVo = smsbDeviceChatScCaseMapper.selectVoOne(new LambdaQueryWrapper<SmsbDeviceChatScCase>()
                     .eq(SmsbDeviceChatScCase::getAppointmentId, appointmentInfo.getId())
                     .eq(SmsbDeviceChatScCase::getType, 1)
                     .orderByDesc(SmsbDeviceChatScCase::getAppointmentId).last("limit 1"));
-                deviceStartInfo.setHelloWorld(caseVo.getIntroduction());
+                if (caseVo != null) {
+                    deviceStartInfo.setHelloWorld(caseVo.getIntroduction());
+                }else {
+                    deviceStartInfo.setHelloWorld("你好," + appointmentInfo.getEnterprise() + "企业,我是小数智能分析助手,有什么可以帮你?");
+                }
                 List<SmsbDeviceChatScCaseVo> caseVoList = smsbDeviceChatScCaseMapper.selectVoList(new LambdaQueryWrapper<SmsbDeviceChatScCase>()
                     .eq(SmsbDeviceChatScCase::getAppointmentId, appointmentInfo.getId())
                     .eq(SmsbDeviceChatScCase::getType, 2));
                 if (CollectionUtils.isNotEmpty(caseVoList)) {
+                    for (SmsbDeviceChatScCaseVo caseItem : caseVoList) {
+                        SmsbScDeviceStartProductVO productVO = new SmsbScDeviceStartProductVO();
+                        productVO.setName(caseItem.getName());
+                        productVO.setPhoto(caseItem.getPhoto());
+                        productVOList.add(productVO);
+                    }
+                    if (productVOList.size() > 3) {
+                        deviceStartInfo.setProductVOList(productVOList.subList(0, 4));
+                    }else {
+                        deviceStartInfo.setProductVOList(productVOList);
+                    }
                     caseContentList = createCaseContentList(caseVoList);
                 }
             } else if (deviceGroupRel.getSceneSort().equals(DEFAULT_SCENE_SORT_3)) {
+                List<SmsbScDeviceStartProductVO> productVOList = new ArrayList<>();
                 SmsbDeviceChatScSceneVo scSceneVo = smsbDeviceChatScSceneMapper.selectVoOne(new LambdaQueryWrapper<SmsbDeviceChatScScene>()
                     .eq(SmsbDeviceChatScScene::getAppointmentId, appointmentInfo.getId())
                     .eq(SmsbDeviceChatScScene::getType, 1)
                     .orderByDesc(SmsbDeviceChatScScene::getAppointmentId).last("limit 1"));
-                deviceStartInfo.setHelloWorld(scSceneVo.getDescription());
+                if (scSceneVo != null) {
+                    deviceStartInfo.setHelloWorld(scSceneVo.getDescription());
+                }else {
+                    deviceStartInfo.setHelloWorld("你好," + appointmentInfo.getEnterprise() + "企业,我是小数智能分析助手,有什么可以帮你?");
+                }
                 List<SmsbDeviceChatScSceneVo> sceneVoList = smsbDeviceChatScSceneMapper.selectVoList(new LambdaQueryWrapper<SmsbDeviceChatScScene>()
                     .eq(SmsbDeviceChatScScene::getAppointmentId, appointmentInfo.getId())
                     .eq(SmsbDeviceChatScScene::getType, 2));
                 if (CollectionUtils.isNotEmpty(sceneVoList)) {
+                    for (SmsbDeviceChatScSceneVo sceneItem : sceneVoList) {
+                        SmsbScDeviceStartProductVO productVO = new SmsbScDeviceStartProductVO();
+                        productVO.setName(sceneItem.getInteractionName());
+                        productVO.setPhoto(sceneItem.getPhoto());
+                        productVOList.add(productVO);
+                    }
+                    if (productVOList.size() > 3) {
+                        deviceStartInfo.setProductVOList(productVOList.subList(0, 4));
+                    }else {
+                        deviceStartInfo.setProductVOList(productVOList);
+                    }
                     sceneContentList = createSceneContentList(sceneVoList);
                 }
             } else if (deviceGroupRel.getSceneSort().equals(DEFAULT_SCENE_SORT_4)) {
@@ -619,7 +655,11 @@ public class SmsbAppointmentInfoServiceImpl implements ISmsbAppointmentInfoServi
                     .eq(SmsbDeviceChatScProduct::getAppointmentId, appointmentInfo.getId())
                     .eq(SmsbDeviceChatScProduct::getType, 1)
                     .orderByDesc(SmsbDeviceChatScProduct::getAppointmentId).last("limit 1"));
-                deviceStartInfo.setHelloWorld(productVo.getIntroduction());
+                if (productVo != null) {
+                    deviceStartInfo.setHelloWorld(productVo.getIntroduction());
+                }else {
+                    deviceStartInfo.setHelloWorld("你好," + appointmentInfo.getEnterprise() + "企业,我是小数智能分析助手,有什么可以帮你?");
+                }
                 List<SmsbDeviceChatScProductVo> productVoList = smsbDeviceChatScProductMapper.selectVoList(new LambdaQueryWrapper<SmsbDeviceChatScProduct>()
                     .eq(SmsbDeviceChatScProduct::getAppointmentId, appointmentInfo.getId())
                     .eq(SmsbDeviceChatScProduct::getType, 2));