فهرست منبع

通过告警id获取最新一条决策: 因为只展示一条数据,所以判断是不是最后一条数据是report类型的,如果是就返回; 如果不是,获取是定时任务生成的最近的一条数据

wangmiaomiao 9 ماه پیش
والد
کامیت
8909efbc52

+ 1 - 0
slibra-admin/src/main/java/com/slibra/web/controller/business/FrontController.java

@@ -233,6 +233,7 @@ public class FrontController extends BaseController {
 
     /**
      * 获取 告警id获取决策列表的最后一条数据
+     * 2024年6月23日17:30:07  因为只展示一条数据,所以判断是不是最后一条数据是report类型的,如果是就返回; 如果不是,获取是定时任务生成的最近的一条数据
      * @return
      */
     @GetMapping("/bigModel/warning/qaDetailByWarningId/{warningId}")

+ 18 - 3
slibra-system/src/main/java/com/slibra/business/service/impl/FrontServiceImpl.java

@@ -27,8 +27,8 @@ import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 
-import static com.slibra.common.constant.MyConstants.FORECAST_WARNING_TEMPLATE;
-import static com.slibra.common.constant.MyConstants.WARNING_TEMPLATE;
+import static com.slibra.common.constant.MyConstants.*;
+import static com.slibra.common.enums.BusinessEnum.BigModelBizEnum.DECISION_REPORT;
 import static com.slibra.common.utils.DateUtils.getAllDatesBetween;
 
 
@@ -101,11 +101,26 @@ public class FrontServiceImpl implements IFrontService {
         return this.xinyiRecommendQaMapper.selectTXinyiRecommendQaList(TXinyiRecommendQa.builder().type(type).build());
     }
 
+
+    /**
+     * 2024年6月23日17:30:07  因为只展示一条数据,所以判断是不是最后一条数据是report类型的,如果是就返回; 如果不是,获取是定时任务生成的最近的一条数据
+     * @param warningId
+     * @return
+     */
     @Override
     public TXinyiChatRecord qaDetailByWarningId(String warningId) {
         //2024年5月28日19:10:21 只获取决策的 因为决策和仿真预测是一个接口,所以通过类型区分
         List<TXinyiChatRecord> tXinyiChatRecords = this.xinyiChatRecordMapper.selectTXinyiChatRecordList(TXinyiChatRecord.builder().warningId(warningId).type(1).build());
-        return CollectionUtils.isEmpty(tXinyiChatRecords) ? null : tXinyiChatRecords.get(0);
+        if(CollectionUtils.isEmpty(tXinyiChatRecords))
+            return null;
+        TXinyiChatRecord tXinyiChatRecord = tXinyiChatRecords.get(0);
+        //todo 表增肌一个字段,记录类型,否则查询速度会慢
+        if(tXinyiChatRecord.getAnswer().contains(DECISION_REPORT.getCode()))
+            return tXinyiChatRecord;
+        else{
+            tXinyiChatRecords = this.xinyiChatRecordMapper.selectTXinyiChatRecordList(TXinyiChatRecord.builder().warningId(warningId).type(1).userId(WARNING_DEFAULT_CREATE).build());
+            return CollectionUtils.isEmpty(tXinyiChatRecords) ? null : tXinyiChatRecords.get(0);
+        }
     }
 
     @Override