Преглед изворни кода

通过类型 区分决策还是仿真预测

wangmiaomiao пре 11 месеци
родитељ
комит
495d70ccda

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

@@ -301,6 +301,19 @@ public class FrontController extends BaseController {
         return AjaxResult.success(frontService.getLeastShortReport());
     }
 
+
+
+    /**
+     * 获取 告警id获取所有的仿真预测列表
+     * @return
+     */
+    @GetMapping("/bigModel/warning/forecastList/{warningId}")
+    public AjaxResult forecastList(@PathVariable String warningId)
+    {
+        log.info("进入了 获取 告警id获取所有的仿真预测列表  接口");
+        return AjaxResult.success(frontService.forecastList(warningId));
+    }
+
     //--------------------下面是测试的方法--------------------
     /*@GetMapping("/test/data")
     public void testData(){

+ 5 - 2
slibra-admin/src/main/java/com/slibra/web/controller/business/GRPCController.java

@@ -74,7 +74,7 @@ public class GRPCController extends BaseController {
     }*/
 
     /**
-     * 调⽤大模型决策接口
+     * 调⽤大模型决策接口 + 仿真预测
      * @return
      */
     @PostMapping(value = "/decisionStream")
@@ -89,6 +89,9 @@ public class GRPCController extends BaseController {
         String sessionId = IdUtils.simpleUUID();
         String feedback = chatReq.getFeedback();
         String simulate = chatReq.getSimulate();
+        Integer type = chatReq.getType();
+        if(Objects.isNull(type))
+            throw new RuntimeException("请输入问答类型【决策还是仿真预测】");
         String warningId = String.valueOf(chatReq.getWarningId());
         //决策请求的业务参数
 //        List<HashMap<String, Object>> list = this.xinyiIndustryMapper.selectLast10RecordsForDecision();
@@ -189,7 +192,7 @@ public class GRPCController extends BaseController {
             //保存聊天记录
             //将问答更新到数据库中
             chatReq.setSessionId(sessionId);
-            chatReq.setType(1);//0问答 1决策
+            chatReq.setType(type);//类型(0问答 1决策 2本地 3仿真预测)
             chatReq.setModule(3);//0=专家问答,1=智能工单,2=智能体助手,3.告警
 //            String showVal = this.buildShowValue(tXinyiWarningRecord, tXinyiIndustry, normConfig);
 //            chatReq.setShowVal(feedback);//前端展示的数据和提问的数据不一致

+ 2 - 2
slibra-system/src/main/java/com/slibra/business/domain/TXinyiChatRecord.java

@@ -30,8 +30,8 @@ public class TXinyiChatRecord extends BaseEntity
     @Excel(name = "会话ID")
     private String sessionId;
 
-    /** 类型(0问答 1决策 2本地) */
-    @Excel(name = "类型", readConverterExp = "0=问答,1=决策,2=本地")
+    /** 类型(0问答 1决策 2本地 3仿真预测) */
+    @Excel(name = "类型", readConverterExp = "0=问答,1=决策,2=本地,3仿真预测")
     private Integer type;
 
     /** 隶属哪个模块(0专家问答 1智能工单 2智能体助手 3告警 4简报) */

+ 2 - 0
slibra-system/src/main/java/com/slibra/business/service/IFrontService.java

@@ -32,4 +32,6 @@ public interface IFrontService
     String handleWarningByMan(TXinyiWarningRecord warningRecord);
 
     TXinyiChatRecord getLeastShortReport();
+
+    List<TXinyiChatRecord> forecastList(String warningId);
 }

+ 7 - 1
slibra-system/src/main/java/com/slibra/business/service/impl/FrontServiceImpl.java

@@ -97,7 +97,8 @@ public class FrontServiceImpl implements IFrontService {
 
     @Override
     public TXinyiChatRecord qaDetailByWarningId(String warningId) {
-        List<TXinyiChatRecord> tXinyiChatRecords = this.xinyiChatRecordMapper.selectTXinyiChatRecordList(TXinyiChatRecord.builder().warningId(warningId).build());
+        //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);
     }
 
@@ -137,6 +138,11 @@ public class FrontServiceImpl implements IFrontService {
         return CollectionUtils.isEmpty(tXinyiChatRecords) ? null : tXinyiChatRecords.get(0);
     }
 
+    @Override
+    public List<TXinyiChatRecord> forecastList(String warningId) {
+        return this.xinyiChatRecordMapper.selectTXinyiChatRecordList(TXinyiChatRecord.builder().warningId(warningId).type(3).build());
+    }
+
     private XinyiIndustrySimple calculateData(XinyiIndustrySimple xinyiIndustrySimple, LocalDateTime nowTime) {
         LocalDateTime yesterdaySameTime = nowTime.plusDays(-1);
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DateUtils.YYYYMMDDHH_TS);