|
@@ -1,27 +1,29 @@
|
|
|
package com.slibra.web.controller.business;
|
|
|
|
|
|
-import com.alibaba.fastjson2.JSON;
|
|
|
-import com.alibaba.fastjson2.JSONWriter;
|
|
|
import com.slibra.business.domain.TXinyiChatRecord;
|
|
|
import com.slibra.business.domain.TXinyiWarningRecord;
|
|
|
import com.slibra.business.mapper.*;
|
|
|
import com.slibra.business.req.ChatReq;
|
|
|
-import com.slibra.business.req.DecisionReq;
|
|
|
import com.slibra.business.service.IFrontService;
|
|
|
import com.slibra.common.core.controller.BaseController;
|
|
|
import com.slibra.common.core.domain.AjaxResult;
|
|
|
import com.slibra.common.core.page.TableDataInfo;
|
|
|
import com.slibra.common.exception.ServiceException;
|
|
|
+import com.slibra.common.utils.DateUtils;
|
|
|
import com.slibra.common.utils.SecurityUtils;
|
|
|
import com.slibra.common.utils.StringUtils;
|
|
|
import com.slibra.common.utils.uuid.IdUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
import static com.slibra.common.constant.MyConstants.SUCCESS;
|
|
|
+import static com.slibra.common.constant.MyConstants.MAX_COUNT;
|
|
|
|
|
|
/**
|
|
|
* 前端用户相关接口
|
|
@@ -170,10 +172,13 @@ public class FrontController extends BaseController {
|
|
|
{
|
|
|
log.info("进入了 报警+预警记录列表分页 接口");
|
|
|
startPage();
|
|
|
- return getDataTable(xinyiWarningRecordMapper.selectTXinyiWarningRecordList(tXinyiWarningRecord));
|
|
|
+ List<TXinyiWarningRecord> tXinyiWarningRecords = xinyiWarningRecordMapper.selectTXinyiWarningRecordList(tXinyiWarningRecord);
|
|
|
+ this.handleWarningCounts(tXinyiWarningRecords);
|
|
|
+ return getDataTable(tXinyiWarningRecords);
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
//报警+预警记录列表不分页 【水质报警 1生化报警 2预测报警】
|
|
|
/**
|
|
|
* 报警+预警记录列表不分页
|
|
@@ -184,10 +189,31 @@ public class FrontController extends BaseController {
|
|
|
public AjaxResult noPageList(TXinyiWarningRecord tXinyiWarningRecord)
|
|
|
{
|
|
|
log.info("进入了 报警+预警记录列表不分页 接口");
|
|
|
- return AjaxResult.success(xinyiWarningRecordMapper.selectTXinyiWarningRecordList(tXinyiWarningRecord));
|
|
|
+ List<TXinyiWarningRecord> tXinyiWarningRecords = xinyiWarningRecordMapper.selectTXinyiWarningRecordList(tXinyiWarningRecord);
|
|
|
+ this.handleWarningCounts(tXinyiWarningRecords);
|
|
|
+ return AjaxResult.success(tXinyiWarningRecords);
|
|
|
}
|
|
|
|
|
|
|
|
|
+ private void handleWarningCounts(List<TXinyiWarningRecord> tXinyiWarningRecords) {
|
|
|
+ if(!CollectionUtils.isEmpty(tXinyiWarningRecords)){
|
|
|
+ for (TXinyiWarningRecord tXinyiWarningRecord : tXinyiWarningRecords) {
|
|
|
+ Date endDate = null;
|
|
|
+ //判断类型 如果结束了 截止时间就是告警截止时间; 如果正在报警 截止时间就是当前时间
|
|
|
+ if(0 == tXinyiWarningRecord.getStatus() || 3 == tXinyiWarningRecord.getStatus())
|
|
|
+ endDate = DateUtils.getNowDate();
|
|
|
+ else
|
|
|
+ endDate = tXinyiWarningRecord.getOffTime();
|
|
|
+ //防止 之前程序处理错误 理论上不再报警了,一定有截止时间的
|
|
|
+ if(Objects.isNull(endDate)){
|
|
|
+ log.error("xxxxxxxxx:之前处理告警结束的逻辑异常,没有更新截止时间");
|
|
|
+ endDate = DateUtils.getNowDate();
|
|
|
+ }
|
|
|
+ tXinyiWarningRecord.setCounts(Math.min(DateUtils.differentHoursByMillisecond(tXinyiWarningRecord.getTime(), endDate) + 1, MAX_COUNT));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取 后台配置的智能助手列表
|
|
|
* @return
|
|
@@ -250,6 +276,19 @@ public class FrontController extends BaseController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 人工处理告警接口(是否采用大模型问答 是否转应急 归档/上传地址)
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PutMapping("/bigModel/warning/handleWarningByMan")
|
|
|
+ public AjaxResult handleWarningByMan(@RequestBody TXinyiWarningRecord warningRecord)
|
|
|
+ {
|
|
|
+ log.info("进入了 人工处理告警接口 接口");
|
|
|
+ return AjaxResult.success(frontService.handleWarningByMan(warningRecord));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//--------------------下面是测试的方法--------------------
|
|
|
/*@GetMapping("/test/data")
|
|
|
public void testData(){
|