From f71f31780ed55200f3e370e61c81cfd05feb34bd Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期五, 10 四月 2026 14:25:01 +0800
Subject: [PATCH] 对接网关的地磅抓拍,生成批复告警内容
---
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java | 4 +-
fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/MonitorPointType.java | 62 +++++++++++++++++++++++++++++++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3031.java | 8 +++
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java | 33 +++++++++++++++-
4 files changed, 102 insertions(+), 5 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/MonitorPointType.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/MonitorPointType.java
new file mode 100644
index 0000000..17f8ebd
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/MonitorPointType.java
@@ -0,0 +1,62 @@
+package com.fzzy.igds.constant;
+
+import lombok.Getter;
+
+/**
+ * 鐩戞帶鐐逛綅绫诲瀷鏋氫妇
+ */
+@Getter
+public enum MonitorPointType {
+
+ ENTRANCE_EXIT("1", "鍑哄叆鍙�"),
+ SAMPLING_MACHINE("2", "鎵︽牱鏈�"),
+ LABORATORY("3", "鍖栭獙瀹�"),
+ SETTLEMENT_ROOM("4", "缁撶畻瀹�"),
+ WEIGHBRIDGE_ROOM("5", "鍦扮瀹�"),
+ WAREHOUSE_MAIN_ROAD("6", "搴撳尯涓诲共閬�"),
+ INTER_WAREHOUSE_MONITOR("7", "浠撻棿鐩戞帶"),
+ IN_WAREHOUSE("8", "浠撳唴"),
+ MEDICINE_ROOM("9", "鑽搧鎴垮唴澶�"),
+ EQUIPMENT_ROOM("10", "鍣ㄦ潗瀹ゅ唴澶�"),
+ HIGH_POINT("11", "鍒堕珮鐐�"),
+ OIL_TANK_AREA("12", "娌瑰簱缃愬尯"),
+ OIL_RECEIVE_EQUIPMENT("13", "鏀跺彂娌硅澶�"),
+ PUMP_ROOM("14", "娉垫埧"),
+ OIL_PIPELINE("15", "娌瑰簱涓昏杈撻�佺閬�"),
+ PERIMETER("16", "鍛ㄧ晫");
+
+ private final String code;
+ private final String name;
+
+ MonitorPointType(String code, String name) {
+ this.code = code;
+ this.name = name;
+ }
+
+ /**
+ * 鏍规嵁code鑾峰彇鏋氫妇
+ * @param code 缂栫爜
+ * @return 瀵瑰簲鐨勬灇涓惧�硷紝鏈壘鍒拌繑鍥瀗ull
+ */
+ public static MonitorPointType getByCode(String code) {
+ if (code == null) {
+ return null;
+ }
+ for (MonitorPointType type : values()) {
+ if (type.getCode().equals(code)) {
+ return type;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 鏍规嵁code鑾峰彇鎻忚堪
+ * @param code 缂栫爜
+ * @return 瀵瑰簲鐨勬弿杩帮紝鏈壘鍒拌繑鍥瀗ull
+ */
+ public static String getNameByCode(String code) {
+ MonitorPointType type = getByCode(code);
+ return type != null ? type.name() : null;
+ }
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
index dbe4d3c..d88e97e 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
@@ -98,7 +98,7 @@
* @author sgj
* @date 2026/04/07
*/
- public void addData(SnapReply snapReply) {
+ public BaseResp addData(SnapReply snapReply) {
if (StringUtils.isBlank(snapReply.getId())) {
snapReply.setId(ContextUtil.generateId());
}
@@ -110,7 +110,7 @@
snapReply.setUpdateTime(new Date());
snapReply.setCreateBy(ContextUtil.getLoginUserName());
snapReply.setCreateTime(new Date());
- snapReplyMapper.insert(snapReply);
+ return snapReplyMapper.insert(snapReply) > 0 ? BaseResp.success() : BaseResp.error("娣诲姞澶辫触");
}
/**
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3031.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3031.java
index 40e341c..fc9a3b8 100644
--- a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3031.java
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/data/Param3031.java
@@ -22,5 +22,11 @@
private String time;
private String tags;
private String imgBase64;
-
+ /**
+ * 鏄惁鐢熸垚鎵瑰鍛婅鏁版嵁
+ * 绫诲瀷锛歋tring锛岄潪蹇呭~
+ * 榛樿锛歂
+ * 鍊硷細Y/N
+ */
+ private String isGenerateAReply;
}
diff --git a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java
index f67ce14..8a40905 100644
--- a/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java
+++ b/fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java
@@ -4,19 +4,26 @@
import com.fzzy.igds.api.v1.data.ApiV1Req;
import com.fzzy.igds.api.v1.data.ApiV1Resp;
import com.fzzy.igds.api.v1.data.Param3031;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.constant.MonitorPointType;
+import com.fzzy.igds.data.BaseResp;
+import com.fzzy.igds.domain.Camera;
import com.fzzy.igds.domain.EventInfo;
import com.fzzy.igds.domain.GatewaySer;
+import com.fzzy.igds.domain.SnapReply;
import com.fzzy.igds.service.EventInfoService;
import com.fzzy.igds.service.FileService;
+import com.fzzy.igds.service.SecCameraService;
+import com.fzzy.igds.service.SnapReplyService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.config.FrameworkConfig;
+import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
-import java.util.List;
/**
* @Description AI浜嬩欢瑙f瀽
@@ -31,6 +38,10 @@
private EventInfoService eventInfoService;
@Resource
private FileService fileService;
+ @Resource
+ private SecCameraService cameraService;
+ @Resource
+ private SnapReplyService snapReplyService;
/**
* @param req
@@ -81,8 +92,26 @@
//璁剧疆淇濆瓨鍥剧墖璺緞
info.setImgName(filePath.replace(FrameworkConfig.getProfile(), "/profile/"));
-
eventInfoService.addData(info);
+ //鍦扮鎶撴媿鍒ゆ柇鏄惁鐢熸垚鎵瑰鍛婅
+ Camera cameraById = cameraService.getCameraById(gatewaySer.getCompanyId(), param.getCameraId());
+ //鍒ゆ柇褰撳墠鎶撴媿鍥剧殑瑙﹀彂璁惧鏄惁鏄湴纾呯洃鎺ц澶�
+ if(null != cameraById && MonitorPointType.WEIGHBRIDGE_ROOM.getCode().equals(cameraById.getSpdwlx())){
+ String isGenerateAReply = param.getIsGenerateAReply();
+ //鍒ゆ柇褰撳墠AI浜嬩欢鎶撴媿锛屾槸鍚﹁Е鍙戠敓鎴愭壒澶嶅憡璀�
+ if(StringUtils.isNotBlank(isGenerateAReply) && Constant.YN_Y.equals(isGenerateAReply)){
+ SnapReply snapReply = new SnapReply();
+ snapReply.setDeptId(gatewaySer.getDeptId());
+ String content = "妫�娴嬪埌搴撳尯鏈夌枒浼煎嚭鍏ュ簱琛屼负锛岃鏍稿澶勭悊銆�";
+ snapReply.setContent(content);
+ BaseResp baseResp = snapReplyService.addData(snapReply);
+ if(BaseResp.isSuccess(baseResp)){
+ log.info("鐢熸垚鍥炲鍛婅鎴愬姛锛�");
+ // todo 鎺ㄩ�佸叕浼楀彿淇℃伅
+ }
+ }
+ }
+
log.info("璐ㄦ娂鐩戠鎺ュ彛V1锛�3031鎺ュ彛瑙f瀽瀹屾垚");
--
Gitblit v1.9.3