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