From e71d3d823093bafe0283a57aa640928709d09434 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期一, 25 九月 2023 11:51:01 +0800
Subject: [PATCH] 优化sql框架使用mybatis-plus代替mybatis

---
 src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java         |   75 --
 src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java   |   17 
 src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java                          |    5 
 src/main/resources/logback-spring.xml                                                |    4 
 src/main/java/com/ard/alarm/apponekey/service/IArdAlarmApponekeyService.java         |   47 -
 src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java              |   49 +-
 src/main/java/com/ard/alarm/digitization/service/impl/DataBridgeServiceImpl.java     |   21 
 src/main/resources/application-prod.yml                                              |    8 
 src/main/java/com/ard/alarm/camera/domain/ArdCameras.java                            |    5 
 pom.xml                                                                              |   20 
 /dev/null                                                                            |  126 -----
 src/main/java/com/ard/alarm/apponekey/service/impl/ArdAlarmApponekeyServiceImpl.java |   60 --
 src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java                      |   17 
 src/main/java/com/ard/alarm/digitization/service/DataBridgeService.java              |    1 
 src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java                    |  597 ++++++++++++-------------
 src/main/java/com/ard/alarm/camera/service/IArdCamerasService.java                   |   10 
 src/main/resources/application-dev.yml                                               |   18 
 src/main/java/com/ard/alarm/camera/service/impl/ArdCamerasServiceImpl.java           |   38 -
 src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java                    |   49 --
 src/main/java/com/ard/utils/other/CodeGeneration.java                                |  126 +++++
 src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java                 |   45 -
 21 files changed, 531 insertions(+), 807 deletions(-)

diff --git a/pom.xml b/pom.xml
index fd515f5..6ac5930 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,11 +59,23 @@
             <artifactId>examples</artifactId>
             <version>1.0.0</version>
         </dependency>
-        <!--mybatis渚濊禆-->
+        <!--MP浠g爜鐢熸垚鍣ㄤ緷璧�-->
         <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>2.2.2</version>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+            <version>3.5.3.1</version>
+        </dependency>
+        <!--velocity妯℃澘寮曟搸-->
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity-engine-core</artifactId>
+            <version>2.0</version>
+        </dependency>
+        <!--mybatis-plus渚濊禆-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.5.1</version>
         </dependency>
         <!--Oracle jdbc-->
         <!--杩欓噷娉ㄦ剰锛屾煇浜沷jdbc鐨勭増鏈笉鏀寔jdk1.8锛岄亣鍒拌繃锛岀綉涓婅杩欎釜ojdbc8鏀寔锛屾墍浠ヨ繖閲屼娇鐢ㄥ畠-->
diff --git a/src/main/java/com/ard/alarm/apponekey/mapper/ArdAlarmApponekeyMapper.java b/src/main/java/com/ard/alarm/apponekey/mapper/ArdAlarmApponekeyMapper.java
deleted file mode 100644
index beb1681..0000000
--- a/src/main/java/com/ard/alarm/apponekey/mapper/ArdAlarmApponekeyMapper.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package com.ard.alarm.apponekey.mapper;
-
-import java.util.List;
-import com.ard.alarm.apponekey.domain.ArdAlarmApponekey;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * app涓�閿姤璀apper鎺ュ彛
- * 
- * @author ard
- * @date 2023-07-21
- */
-@Mapper
-public interface ArdAlarmApponekeyMapper 
-{
-    /**
-     * 鏌ヨapp涓�閿姤璀�
-     * 
-     * @param id app涓�閿姤璀︿富閿�
-     * @return app涓�閿姤璀�
-     */
-    public ArdAlarmApponekey selectArdAlarmApponekeyById(String id);
-
-    /**
-     * 鏌ヨapp涓�閿姤璀﹀垪琛�
-     * 
-     * @param ardAlarmApponekey app涓�閿姤璀�
-     * @return app涓�閿姤璀﹂泦鍚�
-     */
-    public List<ArdAlarmApponekey> selectArdAlarmApponekeyList(ArdAlarmApponekey ardAlarmApponekey);
-
-    /**
-     * 鏂板app涓�閿姤璀�
-     * 
-     * @param ardAlarmApponekey app涓�閿姤璀�
-     * @return 缁撴灉
-     */
-    public int insertArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey);
-
-    /**
-     * 淇敼app涓�閿姤璀�
-     * 
-     * @param ardAlarmApponekey app涓�閿姤璀�
-     * @return 缁撴灉
-     */
-    public int updateArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey);
-
-    /**
-     * 鍒犻櫎app涓�閿姤璀�
-     * 
-     * @param id app涓�閿姤璀︿富閿�
-     * @return 缁撴灉
-     */
-    public int deleteArdAlarmApponekeyById(String id);
-
-    /**
-     * 鎵归噺鍒犻櫎app涓�閿姤璀�
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
-     * @return 缁撴灉
-     */
-    public int deleteArdAlarmApponekeyByIds(String[] ids);
-}
diff --git a/src/main/java/com/ard/alarm/apponekey/service/IArdAlarmApponekeyService.java b/src/main/java/com/ard/alarm/apponekey/service/IArdAlarmApponekeyService.java
index 6d69469..5cc494e 100644
--- a/src/main/java/com/ard/alarm/apponekey/service/IArdAlarmApponekeyService.java
+++ b/src/main/java/com/ard/alarm/apponekey/service/IArdAlarmApponekeyService.java
@@ -1,6 +1,5 @@
 package com.ard.alarm.apponekey.service;
 
-import java.util.List;
 import com.ard.alarm.apponekey.domain.ArdAlarmApponekey;
 
 /**
@@ -9,53 +8,15 @@
  * @author ard
  * @date 2023-07-21
  */
-public interface IArdAlarmApponekeyService 
-{
-    /**
-     * 鏌ヨapp涓�閿姤璀�
-     * 
-     * @param id app涓�閿姤璀︿富閿�
-     * @return app涓�閿姤璀�
-     */
-    public ArdAlarmApponekey selectArdAlarmApponekeyById(String id);
-
-    /**
-     * 鏌ヨapp涓�閿姤璀﹀垪琛�
-     * 
-     * @param ardAlarmApponekey app涓�閿姤璀�
-     * @return app涓�閿姤璀﹂泦鍚�
-     */
-    public List<ArdAlarmApponekey> selectArdAlarmApponekeyList(ArdAlarmApponekey ardAlarmApponekey);
+public interface IArdAlarmApponekeyService {
 
     /**
      * 鏂板app涓�閿姤璀�
-     * 
+     *
      * @param ardAlarmApponekey app涓�閿姤璀�
      * @return 缁撴灉
      */
     public int insertArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey);
-
-    /**
-     * 淇敼app涓�閿姤璀�
-     * 
-     * @param ardAlarmApponekey app涓�閿姤璀�
-     * @return 缁撴灉
-     */
-    public int updateArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey);
-
-    /**
-     * 鎵归噺鍒犻櫎app涓�閿姤璀�
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑app涓�閿姤璀︿富閿泦鍚�
-     * @return 缁撴灉
-     */
-    public int deleteArdAlarmApponekeyByIds(String[] ids);
-
-    /**
-     * 鍒犻櫎app涓�閿姤璀︿俊鎭�
-     * 
-     * @param id app涓�閿姤璀︿富閿�
-     * @return 缁撴灉
-     */
-    public int deleteArdAlarmApponekeyById(String id);
 }
+
+
diff --git a/src/main/java/com/ard/alarm/apponekey/service/impl/ArdAlarmApponekeyServiceImpl.java b/src/main/java/com/ard/alarm/apponekey/service/impl/ArdAlarmApponekeyServiceImpl.java
index c958173..f002e47 100644
--- a/src/main/java/com/ard/alarm/apponekey/service/impl/ArdAlarmApponekeyServiceImpl.java
+++ b/src/main/java/com/ard/alarm/apponekey/service/impl/ArdAlarmApponekeyServiceImpl.java
@@ -8,13 +8,9 @@
 import com.ard.utils.uuid.IdUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
-import com.ard.alarm.apponekey.mapper.ArdAlarmApponekeyMapper;
 import com.ard.alarm.apponekey.domain.ArdAlarmApponekey;
 import com.ard.alarm.apponekey.service.IArdAlarmApponekeyService;
 
-import javax.annotation.Resource;
-
-import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
 
 /**
  * app涓�閿姤璀ervice涓氬姟灞傚鐞�
@@ -25,30 +21,6 @@
 @Service
 @Slf4j(topic = "apponekey")
 public class ArdAlarmApponekeyServiceImpl implements IArdAlarmApponekeyService {
-    @Resource
-    private ArdAlarmApponekeyMapper ardAlarmApponekeyMapper;
-
-    /**
-     * 鏌ヨapp涓�閿姤璀�
-     *
-     * @param id app涓�閿姤璀︿富閿�
-     * @return app涓�閿姤璀�
-     */
-    @Override
-    public ArdAlarmApponekey selectArdAlarmApponekeyById(String id) {
-        return ardAlarmApponekeyMapper.selectArdAlarmApponekeyById(id);
-    }
-
-    /**
-     * 鏌ヨapp涓�閿姤璀﹀垪琛�
-     *
-     * @param ardAlarmApponekey app涓�閿姤璀�
-     * @return app涓�閿姤璀�
-     */
-    @Override
-    public List<ArdAlarmApponekey> selectArdAlarmApponekeyList(ArdAlarmApponekey ardAlarmApponekey) {
-        return ardAlarmApponekeyMapper.selectArdAlarmApponekeyList(ardAlarmApponekey);
-    }
 
     /**
      * 鏂板app涓�閿姤璀�
@@ -76,36 +48,4 @@
                 + "銆愰珮灞傘��" + ardAlarmApponekey.getAltitude() + "銆愬垱寤烘椂闂淬��" + ardAlarmApponekey.getCreateTime());
     }
 
-    /**
-     * 淇敼app涓�閿姤璀�
-     *
-     * @param ardAlarmApponekey app涓�閿姤璀�
-     * @return 缁撴灉
-     */
-    @Override
-    public int updateArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey) {
-        return ardAlarmApponekeyMapper.updateArdAlarmApponekey(ardAlarmApponekey);
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎app涓�閿姤璀�
-     *
-     * @param ids 闇�瑕佸垹闄ょ殑app涓�閿姤璀︿富閿�
-     * @return 缁撴灉
-     */
-    @Override
-    public int deleteArdAlarmApponekeyByIds(String[] ids) {
-        return ardAlarmApponekeyMapper.deleteArdAlarmApponekeyByIds(ids);
-    }
-
-    /**
-     * 鍒犻櫎app涓�閿姤璀︿俊鎭�
-     *
-     * @param id app涓�閿姤璀︿富閿�
-     * @return 缁撴灉
-     */
-    @Override
-    public int deleteArdAlarmApponekeyById(String id) {
-        return ardAlarmApponekeyMapper.deleteArdAlarmApponekeyById(id);
-    }
 }
diff --git a/src/main/java/com/ard/alarm/camera/domain/ArdCameras.java b/src/main/java/com/ard/alarm/camera/domain/ArdCameras.java
index 5fa12ca..9d24096 100644
--- a/src/main/java/com/ard/alarm/camera/domain/ArdCameras.java
+++ b/src/main/java/com/ard/alarm/camera/domain/ArdCameras.java
@@ -1,6 +1,7 @@
 package com.ard.alarm.camera.domain;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -63,8 +64,8 @@
     /**
      * 鍏夌數绫诲瀷
      */
-
-    private String gdtype;
+    @TableField("gdtype")
+    private String gdType;
 
     /**
      * 閫氶亾鍙�
diff --git a/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java b/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
index c75f1df..08a2e51 100644
--- a/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
+++ b/src/main/java/com/ard/alarm/camera/mapper/ArdCamerasMapper.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import com.ard.alarm.camera.domain.ArdCameras;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -11,22 +12,8 @@
  * @date 2023-02-11
  */
 @Mapper
-public interface ArdCamerasMapper 
+public interface ArdCamerasMapper extends BaseMapper<ArdCameras>
 {
-    /**
-     * 鏌ヨ鐩告満璁惧
-     * 
-     * @param id 鐩告満璁惧涓婚敭
-     * @return 鐩告満璁惧
-     */
-    public ArdCameras selectArdCamerasById(String id);
 
-    /**
-     * 鏌ヨ鐩告満璁惧鍒楄〃
-     * 
-     * @param ardCameras 鐩告満璁惧
-     * @return 鐩告満璁惧闆嗗悎
-     */
-    public List<ArdCameras> selectArdCamerasList(ArdCameras ardCameras);
 
 }
diff --git a/src/main/java/com/ard/alarm/camera/service/IArdCamerasService.java b/src/main/java/com/ard/alarm/camera/service/IArdCamerasService.java
index c93a92e..08af9f1 100644
--- a/src/main/java/com/ard/alarm/camera/service/IArdCamerasService.java
+++ b/src/main/java/com/ard/alarm/camera/service/IArdCamerasService.java
@@ -14,16 +14,8 @@
 public interface IArdCamerasService 
 {
     /**
-     * 鏌ヨ鐩告満璁惧
-     * 
-     * @param id 鐩告満璁惧涓婚敭
-     * @return 鐩告満璁惧
-     */
-    public ArdCameras selectArdCamerasById(String id);
-
-    /**
      * 鏌ヨ鐩告満璁惧鍒楄〃
-     * 
+     *
      * @param ardCameras 鐩告満璁惧
      * @return 鐩告満璁惧闆嗗悎
      */
diff --git a/src/main/java/com/ard/alarm/camera/service/impl/ArdCamerasServiceImpl.java b/src/main/java/com/ard/alarm/camera/service/impl/ArdCamerasServiceImpl.java
index 7513cd8..af9336f 100644
--- a/src/main/java/com/ard/alarm/camera/service/impl/ArdCamerasServiceImpl.java
+++ b/src/main/java/com/ard/alarm/camera/service/impl/ArdCamerasServiceImpl.java
@@ -12,6 +12,8 @@
 import com.ard.alarm.external.domain.ArdEquipExternal;
 import com.ard.alarm.external.mapper.ArdEquipExternalMapper;
 import com.ard.utils.hiksdk.service.impl.HikClientUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
@@ -34,34 +36,31 @@
     private final static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
 
     public static List<ArdCameras> ardCameraList = new ArrayList<>();
-
     @Resource
     private ArdCamerasMapper ardCamerasMapper;
 
+    //鍒濆鍖栨墽琛�
     @Override
     public void run(ApplicationArguments args) {
         //鍔犺浇sdk搴�
         HikClientUtil.loadHCNetSDKLib();
         //鑾峰彇灏忓厜鐢靛皾璇曠櫥褰�
-        ArdCameras ardCamera=new ArdCameras();
-        ardCamera.setGdtype("0");
-        ardCameraList = ardCamerasMapper.selectArdCamerasList(ardCamera);
+        ardCameraList = selectArdCamerasList(new ArdCameras());
         HikClientUtil.loginAllCamera(ardCameraList);
-        syncTask();
+        syncCameraListTask();
     }
 
     /**
-     * 鍚屾浠诲姟
+     * 鍚屾鐩告満鍒楄〃浠诲姟
+     * 瀹炴椂鑾峰彇鍦ㄧ嚎鐨勫皬鍏夌數
      * 鍒樿嫃涔�
      * 2023/8/11 9:09:27
      */
-    private void syncTask() {
+    private void syncCameraListTask() {
         scheduler.scheduleAtFixedRate(() -> {
             try {
                 //region 瀹氭椂鍚屾灏忓厜鐢�
-                ArdCameras ardCamera=new ArdCameras();
-                ardCamera.setGdtype("0");
-                List<ArdCameras> newArdCameraList = ardCamerasMapper.selectArdCamerasList(ardCamera);
+                List<ArdCameras> newArdCameraList = selectArdCamerasList(new ArdCameras());
                 //闇�瑕佹洿鏂扮殑鏁版嵁
                 List<ArdCameras> updateList = sameListWithDifferent(ardCameraList, newArdCameraList);
                 if (updateList.size() > 0) {
@@ -94,25 +93,16 @@
     }
 
     /**
-     * 鏌ヨ鐩告満璁惧
-     *
-     * @param id 鐩告満璁惧涓婚敭
-     * @return 鐩告満璁惧
-     */
-    @Override
-    public ArdCameras selectArdCamerasById(String id) {
-        return ardCamerasMapper.selectArdCamerasById(id);
-    }
-
-    /**
      * 鏌ヨ鐩告満璁惧鍒楄〃
      *
-     * @param ardCameras 鐩告満璁惧
+     * @param ardCamera 鐩告満璁惧
      * @return 鐩告満璁惧
      */
     @Override
-    public List<ArdCameras> selectArdCamerasList(ArdCameras ardCameras) {
-        return ardCamerasMapper.selectArdCamerasList(ardCameras);
+    public List<ArdCameras> selectArdCamerasList(ArdCameras ardCamera) {
+        ardCamera.setGdType("0");
+        Wrapper<ArdCameras> queryWrapper=new QueryWrapper<>(ardCamera);
+        return ardCamerasMapper.selectList(queryWrapper);
     }
 
 
diff --git a/src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java b/src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java
deleted file mode 100644
index 2014deb..0000000
--- a/src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.ard.alarm.digitization.controller;
-
-import com.ard.alarm.digitization.model.DataBridge;
-import com.ard.alarm.digitization.service.DataBridgeService;
-import com.ard.utils.http.AjaxResult;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
-
-/**
- * @ClassName DatabridgeController
- * @Description:
- * @Author 鍒樿嫃涔�
- * @Date 2023/9/17 23:11
- * @Version 1.0
- */
-@RestController
-@RequestMapping("/alarm/digitization")
-public class DatabridgeController {
-
-    @Resource
-    DataBridgeService databridgeService;
-
-    @GetMapping("/list")
-    public AjaxResult list(DataBridge databridge) {
-        return AjaxResult.success(databridgeService.selectDatabridgeList(databridge));
-    }
-}
diff --git a/src/main/java/com/ard/alarm/digitization/mapper/DataBridgeMapper.java b/src/main/java/com/ard/alarm/digitization/mapper/DataBridgeMapper.java
deleted file mode 100644
index 498665e..0000000
--- a/src/main/java/com/ard/alarm/digitization/mapper/DataBridgeMapper.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.ard.alarm.digitization.mapper;
-
-import com.ard.alarm.digitization.model.DataBridge;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-@Mapper
-public interface DataBridgeMapper {
-
-    List<DataBridge> selectDatabridgeList(DataBridge row);
-
-    int deleteByPrimaryKey(String id);
-
-    int insert(DataBridge row);
-
-    int insertSelective(DataBridge row);
-
-    DataBridge selectByPrimaryKey(String id);
-
-    int updateByPrimaryKeySelective(DataBridge row);
-
-    int updateByPrimaryKey(DataBridge row);
-}
\ No newline at end of file
diff --git a/src/main/java/com/ard/alarm/digitization/service/DataBridgeService.java b/src/main/java/com/ard/alarm/digitization/service/DataBridgeService.java
index 527dfe8..94dfcec 100644
--- a/src/main/java/com/ard/alarm/digitization/service/DataBridgeService.java
+++ b/src/main/java/com/ard/alarm/digitization/service/DataBridgeService.java
@@ -6,5 +6,4 @@
 
 public interface DataBridgeService {
 
-    List<DataBridge> selectDatabridgeList(DataBridge row);
 }
diff --git a/src/main/java/com/ard/alarm/digitization/service/impl/DataBridgeServiceImpl.java b/src/main/java/com/ard/alarm/digitization/service/impl/DataBridgeServiceImpl.java
index fb31a67..981f2a8 100644
--- a/src/main/java/com/ard/alarm/digitization/service/impl/DataBridgeServiceImpl.java
+++ b/src/main/java/com/ard/alarm/digitization/service/impl/DataBridgeServiceImpl.java
@@ -1,7 +1,6 @@
 package com.ard.alarm.digitization.service.impl;
 
 import com.alibaba.fastjson2.JSON;
-import com.ard.alarm.digitization.mapper.DataBridgeMapper;
 import com.ard.alarm.digitization.model.DataBridge;
 import com.ard.alarm.digitization.service.DataBridgeService;
 import com.ard.utils.jdbc.Query;
@@ -10,7 +9,7 @@
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
+
 import java.util.Date;
 import java.util.List;
 
@@ -25,9 +24,6 @@
 @Slf4j(topic = "digitization3")
 public class DataBridgeServiceImpl implements DataBridgeService {
 
-
-    @Resource
-    DataBridgeMapper databridgeMapper;
     public static Date lastTime;
     @Value("${spring.digitization3.enabled}")
     private Boolean enabled;
@@ -62,21 +58,6 @@
         } catch (Exception ex) {
             log.error("3鍘傛暟瀛楀寲鎶ヨ鏁版嵁澶勭悊寮傚父锛�" + ex.getMessage());
         }
-    }
-
-    @Override
-    public List<DataBridge> selectDatabridgeList(DataBridge row) {
-        List<DataBridge> dataBridgeList;
-        if (lastTime == null) {
-            lastTime = new Date();
-            row.setRowNum(10);
-            dataBridgeList = databridgeMapper.selectDatabridgeList(row);
-            lastTime = dataBridgeList.get(0).getDateTime();
-        } else {
-            row.setDateTime(lastTime);
-            dataBridgeList = databridgeMapper.selectDatabridgeList(row);
-        }
-        return dataBridgeList;
     }
 
 }
diff --git a/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java b/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
index e5b3a23..af32b5c 100644
--- a/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
+++ b/src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import com.ard.alarm.external.domain.ArdEquipExternal;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
@@ -12,30 +13,30 @@
  * @date 2023-03-13
  */
 @Mapper
-public interface ArdEquipExternalMapper 
+public interface ArdEquipExternalMapper extends BaseMapper<ArdEquipExternal>
 {
-    /**
-     * 鏌ヨexternal
-     * 
-     * @param id external涓婚敭
-     * @return external
-     */
-    public ArdEquipExternal selectArdEquipExternalById(String id);
-
-
-    /**
-     * 鏌ヨexternal
-     *
-     * @param ardEquipExternal external
-     * @return external闆嗗悎
-     */
-    public ArdEquipExternal selectArdEquipExternal(ArdEquipExternal ardEquipExternal);
-    /**
-     * 鏌ヨexternal鍒楄〃
-     * 
-     * @param ardEquipExternal external
-     * @return external闆嗗悎
-     */
-    public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal);
+    ///**
+    // * 鏌ヨexternal
+    // *
+    // * @param id external涓婚敭
+    // * @return external
+    // */
+    //public ArdEquipExternal selectArdEquipExternalById(String id);
+    //
+    //
+    ///**
+    // * 鏌ヨexternal
+    // *
+    // * @param ardEquipExternal external
+    // * @return external闆嗗悎
+    // */
+    //public ArdEquipExternal selectArdEquipExternal(ArdEquipExternal ardEquipExternal);
+    ///**
+    // * 鏌ヨexternal鍒楄〃
+    // *
+    // * @param ardEquipExternal external
+    // * @return external闆嗗悎
+    // */
+    //public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal);
 
 }
diff --git a/src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java b/src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java
index 45dd493..723ab35 100644
--- a/src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java
+++ b/src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java
@@ -11,6 +11,7 @@
 import com.ard.alarm.external.mapper.ArdEquipExternalMapper;
 import com.ard.alarm.external.service.IArdEquipExternalService;
 import com.ard.utils.hiksdk.service.impl.HikClientUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.ApplicationArguments;
@@ -44,14 +45,14 @@
         ArdEquipExternal alarmHost = new ArdEquipExternal();
         alarmHost.setFactory("1");
         alarmHost.setType("1");
-        ardAlarmHostList = ardEquipExternalMapper.selectArdEquipExternalList(alarmHost);
+        ardAlarmHostList = selectArdEquipExternalList(alarmHost);
         HikClientUtil.loginAllAlarmHost(ardAlarmHostList);
         log.debug("鎶ヨ涓绘満灏濊瘯鐧诲綍");
         //鑾峰彇鍏ㄩ儴闂ㄧ涓绘満灏濊瘯鐧诲綍
         ArdEquipExternal accessControlHost = new ArdEquipExternal();
         accessControlHost.setFactory("1");
         accessControlHost.setType("6");
-        ardAccessHostList = ardEquipExternalMapper.selectArdEquipExternalList(accessControlHost);
+        ardAccessHostList = selectArdEquipExternalList(accessControlHost);
         HikClientUtil.loginAllAccessControlHost(ardAccessHostList);
         log.debug("闂ㄧ涓绘満灏濊瘯鐧诲綍");
         //鍚屾浠诲姟
@@ -70,7 +71,7 @@
                 ArdEquipExternal alarmHost = new ArdEquipExternal();
                 alarmHost.setFactory("1");
                 alarmHost.setType("1");
-                List<ArdEquipExternal> newAlarmHostList = ardEquipExternalMapper.selectArdEquipExternalList(alarmHost);
+                List<ArdEquipExternal> newAlarmHostList = selectArdEquipExternalList(alarmHost);
                 //闇�瑕佹洿鏂扮殑鏁版嵁
                 List<ArdEquipExternal> updateList = sameListWithDifferent(ardAlarmHostList, newAlarmHostList);
                 if (updateList.size() > 0) {
@@ -101,7 +102,7 @@
                 alarmHost = new ArdEquipExternal();
                 alarmHost.setFactory("1");
                 alarmHost.setType("6");
-                List<ArdEquipExternal> newAccessHostList = ardEquipExternalMapper.selectArdEquipExternalList(alarmHost);
+                List<ArdEquipExternal> newAccessHostList = selectArdEquipExternalList(alarmHost);
                 //闇�瑕佹洿鏂扮殑鏁版嵁
                 updateList = sameListWithDifferent(ardAccessHostList, newAccessHostList);
                 if (updateList.size() > 0) {
@@ -142,12 +143,13 @@
      */
     @Override
     public ArdEquipExternal selectArdEquipExternalById(String id) {
-        return ardEquipExternalMapper.selectArdEquipExternalById(id);
+        return ardEquipExternalMapper.selectById(id);
     }
 
     @Override
     public ArdEquipExternal selectArdEquipExternal(ArdEquipExternal ardEquipExternal) {
-        return ardEquipExternalMapper.selectArdEquipExternal(ardEquipExternal);
+        QueryWrapper<ArdEquipExternal> queryWrapper=new QueryWrapper<>(ardEquipExternal);
+        return ardEquipExternalMapper.selectOne(queryWrapper);
     }
 
     /**
@@ -158,7 +160,8 @@
      */
     @Override
     public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal) {
-        return ardEquipExternalMapper.selectArdEquipExternalList(ardEquipExternal);
+        QueryWrapper<ArdEquipExternal> queryWrapper=new QueryWrapper<>(ardEquipExternal);
+        return ardEquipExternalMapper.selectList(queryWrapper);
     }
 
 
diff --git a/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java b/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java
index 7d13e4d..1bcadef 100644
--- a/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java
+++ b/src/main/java/com/ard/alarm/radar/domain/ArdEquipRadar.java
@@ -1,6 +1,8 @@
 package com.ard.alarm.radar.domain;
 
 import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
@@ -52,6 +54,9 @@
 
     /** 濉攊d */
     private String towerId;
+
+    /** 濉斿悕绉� */
+    @TableField(exist = false)
     private String towerName;
 
     /** 鍥惧儚瀹藉害 */
diff --git a/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java b/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
index 2d5755c..adab6f0 100644
--- a/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
+++ b/src/main/java/com/ard/alarm/radar/mapper/ArdEquipRadarMapper.java
@@ -2,6 +2,7 @@
 
 import java.util.List;
 import com.ard.alarm.radar.domain.ArdEquipRadar;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -11,53 +12,7 @@
  * @date 2023-03-11
  */
 @Mapper
-public interface ArdEquipRadarMapper 
+public interface ArdEquipRadarMapper extends BaseMapper<ArdEquipRadar>
 {
-    /**
-     * 鏌ヨradar
-     * 
-     * @param id radar涓婚敭
-     * @return radar
-     */
-    public ArdEquipRadar selectArdEquipRadarById(String id);
 
-    /**
-     * 鏌ヨradar鍒楄〃
-     * 
-     * @param ardEquipRadar radar
-     * @return radar闆嗗悎
-     */
-    public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar);
-
-    /**
-     * 鏂板radar
-     * 
-     * @param ardEquipRadar radar
-     * @return 缁撴灉
-     */
-    public int insertArdEquipRadar(ArdEquipRadar ardEquipRadar);
-
-    /**
-     * 淇敼radar
-     * 
-     * @param ardEquipRadar radar
-     * @return 缁撴灉
-     */
-    public int updateArdEquipRadar(ArdEquipRadar ardEquipRadar);
-
-    /**
-     * 鍒犻櫎radar
-     * 
-     * @param id radar涓婚敭
-     * @return 缁撴灉
-     */
-    public int deleteArdEquipRadarById(String id);
-
-    /**
-     * 鎵归噺鍒犻櫎radar
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
-     * @return 缁撴灉
-     */
-    public int deleteArdEquipRadarByIds(String[] ids);
 }
diff --git a/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java b/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java
index 87889de..c999aa5 100644
--- a/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java
+++ b/src/main/java/com/ard/alarm/radar/service/IArdEquipRadarService.java
@@ -9,53 +9,14 @@
  * @author zj
  * @date 2023-03-11
  */
-public interface IArdEquipRadarService 
-{
-    /**
-     * 鏌ヨradar
-     * 
-     * @param id radar涓婚敭
-     * @return radar
-     */
-    public ArdEquipRadar selectArdEquipRadarById(String id);
+public interface IArdEquipRadarService {
 
     /**
      * 鏌ヨradar鍒楄〃
-     * 
+     *
      * @param ardEquipRadar radar
      * @return radar闆嗗悎
      */
     public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar);
 
-    /**
-     * 鏂板radar
-     * 
-     * @param ardEquipRadar radar
-     * @return 缁撴灉
-     */
-    public int insertArdEquipRadar(ArdEquipRadar ardEquipRadar);
-
-    /**
-     * 淇敼radar
-     * 
-     * @param ardEquipRadar radar
-     * @return 缁撴灉
-     */
-    public int updateArdEquipRadar(ArdEquipRadar ardEquipRadar);
-
-    /**
-     * 鎵归噺鍒犻櫎radar
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑radar涓婚敭闆嗗悎
-     * @return 缁撴灉
-     */
-    public int deleteArdEquipRadarByIds(String[] ids);
-
-    /**
-     * 鍒犻櫎radar淇℃伅
-     * 
-     * @param id radar涓婚敭
-     * @return 缁撴灉
-     */
-    public int deleteArdEquipRadarById(String id);
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java b/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
index 70dd870..5b141dc 100644
--- a/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
+++ b/src/main/java/com/ard/alarm/radar/service/impl/ArdEquipRadarServiceImpl.java
@@ -1,94 +1,37 @@
 package com.ard.alarm.radar.service.impl;
 
 import java.util.List;
+
+import com.ard.alarm.external.domain.ArdEquipExternal;
 import com.ard.alarm.radar.domain.ArdEquipRadar;
 import com.ard.alarm.radar.mapper.ArdEquipRadarMapper;
 import com.ard.alarm.radar.service.IArdEquipRadarService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
  * radarService涓氬姟灞傚鐞�
- * 
+ *
  * @author zj
  * @date 2023-03-11
  */
 @Service
-public class ArdEquipRadarServiceImpl implements IArdEquipRadarService
-{
+public class ArdEquipRadarServiceImpl implements IArdEquipRadarService {
     @Autowired
     private ArdEquipRadarMapper ardEquipRadarMapper;
-
-    /**
-     * 鏌ヨradar
-     * 
-     * @param id radar涓婚敭
-     * @return radar
-     */
-    @Override
-    public ArdEquipRadar selectArdEquipRadarById(String id)
-    {
-        return ardEquipRadarMapper.selectArdEquipRadarById(id);
-    }
 
 
     /**
      * 鏌ヨradar鍒楄〃
-     * 
+     *
      * @param ardEquipRadar radar
      * @return radar
      */
     @Override
-    public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar)
-    {
-        return ardEquipRadarMapper.selectArdEquipRadarList(ardEquipRadar);
+    public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar) {
+        QueryWrapper<ArdEquipRadar> queryWrapper = new QueryWrapper<>(ardEquipRadar);
+        return ardEquipRadarMapper.selectList(queryWrapper);
     }
 
-    /**
-     * 鏂板radar
-     * 
-     * @param ardEquipRadar radar
-     * @return 缁撴灉
-     */
-    @Override
-    public int insertArdEquipRadar(ArdEquipRadar ardEquipRadar)
-    {
-        return ardEquipRadarMapper.insertArdEquipRadar(ardEquipRadar);
-    }
-
-    /**
-     * 淇敼radar
-     * 
-     * @param ardEquipRadar radar
-     * @return 缁撴灉
-     */
-    @Override
-    public int updateArdEquipRadar(ArdEquipRadar ardEquipRadar)
-    {
-        return ardEquipRadarMapper.updateArdEquipRadar(ardEquipRadar);
-    }
-
-    /**
-     * 鎵归噺鍒犻櫎radar
-     * 
-     * @param ids 闇�瑕佸垹闄ょ殑radar涓婚敭
-     * @return 缁撴灉
-     */
-    @Override
-    public int deleteArdEquipRadarByIds(String[] ids)
-    {
-        return ardEquipRadarMapper.deleteArdEquipRadarByIds(ids);
-    }
-
-    /**
-     * 鍒犻櫎radar淇℃伅
-     * 
-     * @param id radar涓婚敭
-     * @return 缁撴灉
-     */
-    @Override
-    public int deleteArdEquipRadarById(String id)
-    {
-        return ardEquipRadarMapper.deleteArdEquipRadarById(id);
-    }
 }
diff --git a/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java b/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
index 9ee1b35..62f68de 100644
--- a/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
+++ b/src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
@@ -24,6 +24,7 @@
 import java.nio.ByteBuffer;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @ClassName: FMSGCallBack
@@ -54,80 +55,75 @@
         String url = "";//浜嬩欢鍥剧墖
         //lCommand鏄紶鐨勬姤璀︾被鍨�
         //log.debug("鎶ヨ浜嬩欢绫诲瀷:lCommand:" + Integer.toHexString(lCommand));
-        switch (lCommand) {
-            case HCNetSDK.COMM_ALARM_V30:
-                //log.debug("绉诲姩渚︽祴");
-                ArdCameras ardCameras = new ArdCameras();
-                ardCameras.setIp(sDeviceIP);
-                ardCameras.setPort(wLinkPort);
-                IArdCamerasService ardCamerasService = SpringUtils.getBean(IArdCamerasService.class);
-                ArdCameras camera = ardCamerasService.selectArdCamerasList(ardCameras).get(0);
-                HCNetSDK.NET_DVR_ALARMINFO_V30 netDvrAlarminfoV30 = new HCNetSDK.NET_DVR_ALARMINFO_V30();
-                netDvrAlarminfoV30.write();
-                Pointer pNDAInfo = netDvrAlarminfoV30.getPointer();
-                pNDAInfo.write(0, pAlarmInfo.getByteArray(0, netDvrAlarminfoV30.size()), 0, netDvrAlarminfoV30.size());
-                netDvrAlarminfoV30.read();
-                switch (netDvrAlarminfoV30.dwAlarmType) {
-                    case 3:
-                        info = new CameraEventInfo();
-                        info.setAlarmName("绉诲姩渚︽祴");
-                        info.setAlarmTime(fmt.format(new Date()));
-                        info.setCameraName(camera.getName());
-                        info.setCameraId(camera.getId());
-                        info.setCameraIp(camera.getIp());
-                        info.setCameraPort(camera.getPort());
-                        info.setCameraType(camera.getGdtype());
-                        info.setCameraChannel(Integer.valueOf(netDvrAlarminfoV30.byChannel[0]));
-                        info.setLongitude(camera.getLongitude());
-                        info.setLatitude(camera.getLatitude());
-                        info.setAlarmType("绉诲姩渚︽祴");
-                        //鍥剧墖瀛樺叆minio
-                        url = savePicture(info);
-                        info.setPicUrl(url);
-                        publishMqtt(info);
-                        break;
-                }
-
-            case HCNetSDK.COMM_ALARM_RULE:
-                //log.debug("琛屼负鍒嗘瀽淇℃伅鎶ヨ淇℃伅涓婃姤");
-                //region 琛屼负鍒嗘瀽淇℃伅
-                ardCameras = new ArdCameras();
-                ardCameras.setIp(sDeviceIP);
-                ardCameras.setPort(wLinkPort);
-                ardCamerasService = SpringUtils.getBean(IArdCamerasService.class);
-                ArdCameras ardCamera = ardCamerasService.selectArdCamerasList(ardCameras).get(0);
-
-                HCNetSDK.NET_VCA_RULE_ALARM strVcaAlarm = new HCNetSDK.NET_VCA_RULE_ALARM();
-                strVcaAlarm.write();
-                Pointer pVCAInfo = strVcaAlarm.getPointer();
-                pVCAInfo.write(0, pAlarmInfo.getByteArray(0, strVcaAlarm.size()), 0, strVcaAlarm.size());
-                strVcaAlarm.read();
-                Integer ruleID = Integer.valueOf(strVcaAlarm.struRuleInfo.byRuleID);
-                sTime = DateUtils.parseTime(strVcaAlarm.dwAbsTime);//浜嬩欢鏃堕棿
-                String ipaddr = new String(strVcaAlarm.struDevInfo.struDevIP.sIpV4).trim();//璁惧ip
-                Integer channel = Integer.valueOf(strVcaAlarm.struDevInfo.byChannel);//閫氶亾
-                info = new CameraEventInfo();
-                info.setAlarmName("浜哄憳琛屼负鍒嗘瀽");
-                info.setAlarmTime(sTime);
-                info.setCameraName(ardCamera.getName());
-                info.setCameraId(ardCamera.getId());
-                info.setCameraIp(ardCamera.getIp());
-                info.setCameraPort(ardCamera.getPort());
-                info.setCameraType(ardCamera.getGdtype());
-                info.setCameraChannel(channel);
-                info.setLongitude(ardCamera.getLongitude());
-                info.setLatitude(ardCamera.getLatitude());
-                info.setRuleId(ruleID);
-                switch (strVcaAlarm.struRuleInfo.wEventTypeEx) {
-                    case 1: //region绌胯秺璀︽垝闈� (瓒婄晫渚︽祴)
-                        info.setAlarmType("瓒婄晫渚︽祴鎶ヨ");
-                        strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_TRAVERSE_PLANE.class);
-                        //鍥剧墖瀛樺叆minio
-                        url = savePicture(info);
-                        info.setPicUrl(url);
-                        publishMqtt(info);
-                        //endregion
-                        break;
+        ArdCameras ardCameras = new ArdCameras();
+        ardCameras.setIp(sDeviceIP);
+        ardCameras.setPort(wLinkPort);
+        IArdCamerasService ardCamerasService = SpringUtils.getBean(IArdCamerasService.class);
+        List<ArdCameras> ardCamerasList = ardCamerasService.selectArdCamerasList(ardCameras);
+        if (ardCamerasList.size() > 0) {
+            ArdCameras camera = ardCamerasService.selectArdCamerasList(ardCameras).get(0);
+            switch (lCommand) {
+                case HCNetSDK.COMM_ALARM_V30:
+                    //log.debug("绉诲姩渚︽祴");
+                    HCNetSDK.NET_DVR_ALARMINFO_V30 netDvrAlarminfoV30 = new HCNetSDK.NET_DVR_ALARMINFO_V30();
+                    netDvrAlarminfoV30.write();
+                    Pointer pNDAInfo = netDvrAlarminfoV30.getPointer();
+                    pNDAInfo.write(0, pAlarmInfo.getByteArray(0, netDvrAlarminfoV30.size()), 0, netDvrAlarminfoV30.size());
+                    netDvrAlarminfoV30.read();
+                    switch (netDvrAlarminfoV30.dwAlarmType) {
+                        case 3:
+                            info = new CameraEventInfo();
+                            info.setAlarmName("绉诲姩渚︽祴");
+                            info.setAlarmTime(fmt.format(new Date()));
+                            info.setCameraName(camera.getName());
+                            info.setCameraId(camera.getId());
+                            info.setCameraIp(camera.getIp());
+                            info.setCameraPort(camera.getPort());
+                            info.setCameraType(camera.getGdType());
+                            info.setCameraChannel(Integer.valueOf(netDvrAlarminfoV30.byChannel[0]));
+                            info.setLongitude(camera.getLongitude());
+                            info.setLatitude(camera.getLatitude());
+                            info.setAlarmType("绉诲姩渚︽祴");
+                            //鍥剧墖瀛樺叆minio
+                            url = savePicture(info);
+                            info.setPicUrl(url);
+                            publishMqtt(info);
+                            break;
+                    }
+                case HCNetSDK.COMM_ALARM_RULE:
+                    //log.debug("琛屼负鍒嗘瀽淇℃伅鎶ヨ淇℃伅涓婃姤");
+                    //region 琛屼负鍒嗘瀽淇℃伅
+                    HCNetSDK.NET_VCA_RULE_ALARM strVcaAlarm = new HCNetSDK.NET_VCA_RULE_ALARM();
+                    strVcaAlarm.write();
+                    Pointer pVCAInfo = strVcaAlarm.getPointer();
+                    pVCAInfo.write(0, pAlarmInfo.getByteArray(0, strVcaAlarm.size()), 0, strVcaAlarm.size());
+                    strVcaAlarm.read();
+                    Integer ruleID = Integer.valueOf(strVcaAlarm.struRuleInfo.byRuleID);
+                    sTime = DateUtils.parseTime(strVcaAlarm.dwAbsTime);//浜嬩欢鏃堕棿
+                    String ipaddr = new String(strVcaAlarm.struDevInfo.struDevIP.sIpV4).trim();//璁惧ip
+                    Integer channel = Integer.valueOf(strVcaAlarm.struDevInfo.byChannel);//閫氶亾
+                    info = new CameraEventInfo();
+                    info.setAlarmName("浜哄憳琛屼负鍒嗘瀽");
+                    info.setAlarmTime(sTime);
+                    info.setCameraName(camera.getName());
+                    info.setCameraId(camera.getId());
+                    info.setCameraIp(camera.getIp());
+                    info.setCameraPort(camera.getPort());
+                    info.setCameraType(camera.getGdType());
+                    info.setCameraChannel(channel);
+                    info.setLongitude(camera.getLongitude());
+                    info.setLatitude(camera.getLatitude());
+                    info.setRuleId(ruleID);
+                    switch (strVcaAlarm.struRuleInfo.wEventTypeEx) {
+                        case 1: //region绌胯秺璀︽垝闈� (瓒婄晫渚︽祴)
+                            info.setAlarmType("瓒婄晫渚︽祴鎶ヨ");
+                            strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_TRAVERSE_PLANE.class);
+                            //鍥剧墖瀛樺叆minio
+                            url = savePicture(info);
+                            info.setPicUrl(url);
+                            publishMqtt(info);
+                            //endregion
+                            break;
 //                    case 2: //region 鐩爣杩涘叆鍖哄煙
 //                        info.setAlarmType("鐩爣杩涘叆鍖哄煙鎶ヨ");
 //                        strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_AREA.class);
@@ -138,15 +134,15 @@
 //                        strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_AREA.class);
 //                        //endregion
 //                        break;
-                    case 4: //region 鍛ㄧ晫鍏ヤ镜
-                        info.setAlarmType("鍛ㄧ晫鍏ヤ镜鎶ヨ");
-                        strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_INTRUSION.class);
-                        //鍥剧墖瀛樺叆minio
-                        url = savePicture(info);
-                        info.setPicUrl(url);
-                        publishMqtt(info);
-                        //endregion
-                        break;
+                        case 4: //region 鍛ㄧ晫鍏ヤ镜
+                            info.setAlarmType("鍛ㄧ晫鍏ヤ镜鎶ヨ");
+                            strVcaAlarm.struRuleInfo.uEventParam.setType(HCNetSDK.NET_VCA_INTRUSION.class);
+                            //鍥剧墖瀛樺叆minio
+                            url = savePicture(info);
+                            info.setPicUrl(url);
+                            publishMqtt(info);
+                            //endregion
+                            break;
 //                    case 5: //region 寰樺緤
 //                        info.setAlarmType("寰樺緤浜嬩欢鎶ヨ");
 //                        //endregion
@@ -171,224 +167,221 @@
 //                        info.setAlarmType("鐜╂墜鏈烘姤璀︿簨浠�");
 //                        //endregion
 //                        break;
-                    default:
-                        // log.debug("鏈煡琛屼负浜嬩欢绫诲瀷:" + strVcaAlarm.struRuleInfo.wEventTypeEx);
-                        break;
-                }
-                //endregion
-                break;
-//            case HCNetSDK.COMM_UPLOAD_FACESNAP_RESULT:
-//                log.debug("浜鸿劯妫�娴嬩簨浠朵笂鎶�(鏆備笉瑙f瀽)");
-//                break;
-//            case HCNetSDK.COMM_GISINFO_UPLOAD:
-//                log.debug("GPS鎶ヨ淇℃伅涓婃姤(鏆備笉瑙f瀽)");
-//                break;
-            case HCNetSDK.COMM_ALARMHOST_CID_ALARM:
-                //log.debug("鎶ヨ涓绘満CID鎶ュ憡鎶ヨ涓婃姤");
-                //region 鎶ヨ涓绘満鎶ヨ澶勭悊
-                ArdEquipExternal ardEquipExternal = new ArdEquipExternal();
-                ardEquipExternal.setIp(sDeviceIP);
-                ardEquipExternal.setPort(wLinkPort);
-                IArdEquipExternalService ardEquipExternalService = SpringUtils.getBean(IArdEquipExternalService.class);
-                ardEquipExternal = ardEquipExternalService.selectArdEquipExternal(ardEquipExternal);
-
-
-                HCNetSDK.NET_DVR_CID_ALARM netDvrCidAlarm = new HCNetSDK.NET_DVR_CID_ALARM();
-                netDvrCidAlarm.write();
-                Pointer pCIDInfo = netDvrCidAlarm.getPointer();
-                pCIDInfo.write(0, pAlarmInfo.getByteArray(0, netDvrCidAlarm.size()), 0, netDvrCidAlarm.size());
-                netDvrCidAlarm.read();
-                //CID浜嬩欢鍚�
-                String sCIDCode = ByteUtils.bytesToStringZh(netDvrCidAlarm.sCIDCode);//CID浜嬩欢鍚�
-
-                //CID浜嬩欢鍚�
-                //String sCIDDescribe = ByteUtils.bytesToStringZh(netDvrCidAlarm.sCIDDescribe);//CID浜嬩欢鍚�
-                int position = ByteUtils.findIndexOfDoubleZero(netDvrCidAlarm.sCIDDescribe);
-                String sCIDDescribe;
-                if (position != -1) {
-                    byte[] result = new byte[position];
-                    System.arraycopy(netDvrCidAlarm.sCIDDescribe, 0, result, 0, position);
-                    sCIDDescribe = ByteUtils.bytesToStringZh(result);
-                } else {
-                    sCIDDescribe = ByteUtils.bytesToStringZh(netDvrCidAlarm.sCIDDescribe);
-                }
-                //瑙﹀彂鎶ヨ鐨勬椂闂寸偣
-                String struTriggerTime = DateUtils.convertDate(parseAlarmTime(netDvrCidAlarm.struTriggerTime), "yyyy-M-d H:m:s");
-                //涓婁紶鎶ヨ鐨勬椂闂寸偣
-                String struUploadTime = DateUtils.convertDate(parseAlarmTime(netDvrCidAlarm.struUploadTime), "yyyy-M-d H:m:s");
-                //鎶ュ憡绫诲瀷
-                String byReportType = "";
-                switch (netDvrCidAlarm.byReportType) {
-                    case 1:
-                        byReportType = "闃插尯鎶ヨ";
-                        break;
-                    case 2:
-                        byReportType = "瑙嗛鎶ヨ";
-                        break;
-                    case 3:
-                        byReportType = "杞槻鍖烘姤璀�";
-                        break;
-                    case 4:
-                        byReportType = "鎸熸寔鎶ヨ";
-                        break;
-                    case 5:
-                        byReportType = "闃叉媶鎶ヨ ";
-                        break;
-                    case 6:
-                        byReportType = "鎿嶄綔鎶ュ憡 ";
-                        break;
-                    case 7:
-                        byReportType = "寮傚父鎶ュ憡 ";
-                        break;
-                }
-                //瀛愮郴缁熷彿
-                Integer bySubSysNo = Integer.valueOf(netDvrCidAlarm.bySubSysNo);
-                //闃插尯鍙� 璧峰0
-                Integer wDefenceNo = Integer.valueOf(netDvrCidAlarm.wDefenceNo);
-                //闃插尯鍚嶇О
-                String wDefenceName = "";
-                if (!bySubSysNo.equals(-1)) {
-                    CameraCmd cmd = new CameraCmd();
-                    cmd.setCameraId(ardEquipExternal.getId());
-                    cmd.setWZoneIndex(wDefenceNo);
-                    wDefenceName = HikClientUtil.getDefenseZoneName(cmd);
-                }
-                if (sCIDDescribe.contains("鎭㈠")) {
-                    return true;
-                }
-
-                ExternalAlarmEventInfo externalAlarmEventInfo = new ExternalAlarmEventInfo();
-                externalAlarmEventInfo.setAlarmId(sCIDCode);
-                externalAlarmEventInfo.setAlarmName(sCIDDescribe);
-                externalAlarmEventInfo.setDefenseId((wDefenceNo + 1));
-                externalAlarmEventInfo.setDefenseName(wDefenceName);
-                externalAlarmEventInfo.setSubSysNo(bySubSysNo);
-                externalAlarmEventInfo.setAlarmType(byReportType);
-                externalAlarmEventInfo.setAlarmTime(struTriggerTime);
-                externalAlarmEventInfo.setAlarmHostId(ardEquipExternal.getId());
-                publishMqtt(externalAlarmEventInfo);
-                //endregion
-                break;
-            case HCNetSDK.COMM_ALARM_ACS:
-                //region 闂ㄧ涓绘満鎶ヨ澶勭悊
-
-                ArdEquipExternal accessControlHost = new ArdEquipExternal();
-                accessControlHost.setIp(sDeviceIP);
-                accessControlHost.setPort(wLinkPort);
-                ardEquipExternalService = SpringUtils.getBean(IArdEquipExternalService.class);
-                accessControlHost = ardEquipExternalService.selectArdEquipExternal(accessControlHost);
-
-                HCNetSDK.NET_DVR_ACS_ALARM_INFO strACSInfo = new HCNetSDK.NET_DVR_ACS_ALARM_INFO();
-                strACSInfo.write();
-                Pointer acsInfo = strACSInfo.getPointer();
-                acsInfo.write(0, pAlarmInfo.getByteArray(0, strACSInfo.size()), 0, strACSInfo.size());
-                strACSInfo.read();
-                int dwMajor = strACSInfo.dwMajor;
-
-                if (dwMajor != 5) {
-                    //鍙幏鍙栦簨浠�
-                    // log.debug("闈炰簨浠舵姤璀︽暟鎹笂鎶�(鏆備笉瑙f瀽)");
-                    break;
-                }
-
-                int dwMinor = strACSInfo.dwMinor;
-                if (dwMinor != 80 && dwMinor != 104) {
-                    //鍙В鏋愮湡浜烘娴嬪け璐ュ拰浜鸿劯鎶撴媿澶辫触鐨勬绫诲瀷浜嬩欢
-                    break;
-                }
-                String alarmType = "";
-                switch (dwMinor) {
-                    case 104:
-                        alarmType = "鐪熶汉妫�娴嬪け璐�";
-                        break;
-                    case 80:
-                        alarmType = "浜鸿劯鎶撴媿澶辫触";
-                        break;
-                }
-                log.debug("闂ㄧ涓绘満鎶ヨ涓婁紶:"+alarmType);
-                String alarmTime = DateUtils.convertDate(parseAlarmTime(strACSInfo.struTime), "yyyy-M-d H:m:s");
-
-                //浜嬩欢鍥剧墖澶勭悊
-                int dwPicDataLen = strACSInfo.dwPicDataLen;
-                if (dwPicDataLen > 0) {
-                    try {
-                        //灏嗗瓧鑺傚啓鍏ユ枃浠�
-                        long offset = 0;
-                        ByteBuffer buffers = strACSInfo.pPicData.getByteBuffer(offset, strACSInfo.dwPicDataLen);
-                        byte[] bytes = new byte[strACSInfo.dwPicDataLen];
-                        buffers.rewind();
-                        buffers.get(bytes);
-                        InputStream input = new ByteArrayInputStream(bytes);
-                        String bucketName = "pic";
-                        String objectName = "alarm/" + IdUtils.simpleUUID() + ".jpeg";
-                        boolean uploadObject = MinioUtil.uploadObject(bucketName, objectName, input,input.available(), "image/JPEG");
-                        if (uploadObject) {
-                            url = MinioUtil.getBucketObjectUrl(bucketName, objectName);
-                            //log.debug("涓婁紶鏂囦欢鎴愬姛!" + url);
-                        }
-                    } catch (Exception e) {
-                        log.error("鍥剧墖淇濆瓨澶辫触");
+                        default:
+                            // log.debug("鏈煡琛屼负浜嬩欢绫诲瀷:" + strVcaAlarm.struRuleInfo.wEventTypeEx);
+                            break;
                     }
-                }
-                HCNetSDK.NET_DVR_ACS_EVENT_INFO struAcsEventInfo = strACSInfo.struAcsEventInfo;
-                int byType = struAcsEventInfo.byType;
-                String defenseType = "";
-                switch (byType) {
-                    case 0:
-                        defenseType = "鍗虫椂闃插尯";
-                        break;
-                    case 1:
-                        defenseType = "24灏忔椂闃插尯";
-                        break;
-                    case 2:
-                        defenseType = "寤舵椂闃插尯";
-                        break;
-                    case 3:
-                        defenseType = "鍐呴儴闃插尯";
-                        break;
-                    case 4:
-                        defenseType = "閽ュ寵闃插尯";
-                        break;
-                    case 5:
-                        defenseType = "鐏闃插尯";
-                        break;
-                    case 6:
-                        defenseType = "鍛ㄧ晫闃插尯";
-                        break;
-                    case 7:
-                        defenseType = "24灏忔椂鏃犲0闃插尯";
-                        break;
-                    case 8:
-                        defenseType = "24灏忔椂杈呭姪闃插尯";
-                        break;
-                    case 9:
-                        defenseType = "24灏忔椂闇囧姩闃插尯";
-                        break;
-                    case 10:
-                        defenseType = "闂ㄧ绱ф�ュ紑闂ㄩ槻鍖�";
-                        break;
-                    case 11:
-                        defenseType = "闂ㄧ绱ф�ュ叧闂ㄩ槻鍖�";
-                        break;
-                    default:
-                        defenseType = "鏃�";
-                        break;
-                }
-                AccessControlHostEventInfo accessControlHostEventInfo = new AccessControlHostEventInfo();
-                accessControlHostEventInfo.setSerialNo(struAcsEventInfo.dwSerialNo);
-                accessControlHostEventInfo.setAlarmType(alarmType);
-                accessControlHostEventInfo.setDoorNo(struAcsEventInfo.dwDoorNo);
-                accessControlHostEventInfo.setDefenseType(defenseType);
-                accessControlHostEventInfo.setAlarmTime(alarmTime);
-                accessControlHostEventInfo.setPicUrl(url);
-                accessControlHostEventInfo.setAcsId(accessControlHost.getId());
-                publishMqtt(accessControlHostEventInfo);
-                //endregion
-                break;
-            default:
-                // log.debug("鏈煡鎶ヨ浜嬩欢绫诲瀷:lCommand:" + Integer.toHexString(lCommand));
-                break;
+                    //endregion
+                    break;
+                case HCNetSDK.COMM_UPLOAD_FACESNAP_RESULT:
+                    //log.debug("浜鸿劯妫�娴嬩簨浠朵笂鎶�(鏆備笉瑙f瀽)");
+                    break;
+                case HCNetSDK.COMM_GISINFO_UPLOAD:
+                    //log.debug("GPS鎶ヨ淇℃伅涓婃姤(鏆備笉瑙f瀽)");
+                    break;
+                case HCNetSDK.COMM_ALARMHOST_CID_ALARM:
+                    //log.debug("鎶ヨ涓绘満CID鎶ュ憡鎶ヨ涓婃姤");
+                    //region 鎶ヨ涓绘満鎶ヨ澶勭悊
+                    ArdEquipExternal ardEquipExternal = new ArdEquipExternal();
+                    ardEquipExternal.setIp(sDeviceIP);
+                    ardEquipExternal.setPort(wLinkPort);
+                    IArdEquipExternalService ardEquipExternalService = SpringUtils.getBean(IArdEquipExternalService.class);
+                    ardEquipExternal = ardEquipExternalService.selectArdEquipExternal(ardEquipExternal);
 
+                    HCNetSDK.NET_DVR_CID_ALARM netDvrCidAlarm = new HCNetSDK.NET_DVR_CID_ALARM();
+                    netDvrCidAlarm.write();
+                    Pointer pCIDInfo = netDvrCidAlarm.getPointer();
+                    pCIDInfo.write(0, pAlarmInfo.getByteArray(0, netDvrCidAlarm.size()), 0, netDvrCidAlarm.size());
+                    netDvrCidAlarm.read();
+                    //CID浜嬩欢鍚�
+                    String sCIDCode = ByteUtils.bytesToStringZh(netDvrCidAlarm.sCIDCode);//CID浜嬩欢鍚�
+                    //CID浜嬩欢鍚�
+                    //String sCIDDescribe = ByteUtils.bytesToStringZh(netDvrCidAlarm.sCIDDescribe);//CID浜嬩欢鍚�
+                    int position = ByteUtils.findIndexOfDoubleZero(netDvrCidAlarm.sCIDDescribe);
+                    String sCIDDescribe;
+                    if (position != -1) {
+                        byte[] result = new byte[position];
+                        System.arraycopy(netDvrCidAlarm.sCIDDescribe, 0, result, 0, position);
+                        sCIDDescribe = ByteUtils.bytesToStringZh(result);
+                    } else {
+                        sCIDDescribe = ByteUtils.bytesToStringZh(netDvrCidAlarm.sCIDDescribe);
+                    }
+                    //瑙﹀彂鎶ヨ鐨勬椂闂寸偣
+                    String struTriggerTime = DateUtils.convertDate(parseAlarmTime(netDvrCidAlarm.struTriggerTime), "yyyy-M-d H:m:s");
+                    //涓婁紶鎶ヨ鐨勬椂闂寸偣
+                    String struUploadTime = DateUtils.convertDate(parseAlarmTime(netDvrCidAlarm.struUploadTime), "yyyy-M-d H:m:s");
+                    //鎶ュ憡绫诲瀷
+                    String byReportType = "";
+                    switch (netDvrCidAlarm.byReportType) {
+                        case 1:
+                            byReportType = "闃插尯鎶ヨ";
+                            break;
+                        case 2:
+                            byReportType = "瑙嗛鎶ヨ";
+                            break;
+                        case 3:
+                            byReportType = "杞槻鍖烘姤璀�";
+                            break;
+                        case 4:
+                            byReportType = "鎸熸寔鎶ヨ";
+                            break;
+                        case 5:
+                            byReportType = "闃叉媶鎶ヨ ";
+                            break;
+                        case 6:
+                            byReportType = "鎿嶄綔鎶ュ憡 ";
+                            break;
+                        case 7:
+                            byReportType = "寮傚父鎶ュ憡 ";
+                            break;
+                    }
+                    //瀛愮郴缁熷彿
+                    Integer bySubSysNo = Integer.valueOf(netDvrCidAlarm.bySubSysNo);
+                    //闃插尯鍙� 璧峰0
+                    Integer wDefenceNo = Integer.valueOf(netDvrCidAlarm.wDefenceNo);
+                    //闃插尯鍚嶇О
+                    String wDefenceName = "";
+                    if (!bySubSysNo.equals(-1)) {
+                        CameraCmd cmd = new CameraCmd();
+                        cmd.setCameraId(ardEquipExternal.getId());
+                        cmd.setWZoneIndex(wDefenceNo);
+                        wDefenceName = HikClientUtil.getDefenseZoneName(cmd);
+                    }
+                    if (sCIDDescribe.contains("鎭㈠")) {
+                        return true;
+                    }
+
+                    ExternalAlarmEventInfo externalAlarmEventInfo = new ExternalAlarmEventInfo();
+                    externalAlarmEventInfo.setAlarmId(sCIDCode);
+                    externalAlarmEventInfo.setAlarmName(sCIDDescribe);
+                    externalAlarmEventInfo.setDefenseId((wDefenceNo + 1));
+                    externalAlarmEventInfo.setDefenseName(wDefenceName);
+                    externalAlarmEventInfo.setSubSysNo(bySubSysNo);
+                    externalAlarmEventInfo.setAlarmType(byReportType);
+                    externalAlarmEventInfo.setAlarmTime(struTriggerTime);
+                    externalAlarmEventInfo.setAlarmHostId(ardEquipExternal.getId());
+                    publishMqtt(externalAlarmEventInfo);
+                    //endregion
+                    break;
+                case HCNetSDK.COMM_ALARM_ACS:
+                    //region 闂ㄧ涓绘満鎶ヨ澶勭悊
+                    ArdEquipExternal accessControlHost = new ArdEquipExternal();
+                    accessControlHost.setIp(sDeviceIP);
+                    accessControlHost.setPort(wLinkPort);
+                    ardEquipExternalService = SpringUtils.getBean(IArdEquipExternalService.class);
+                    accessControlHost = ardEquipExternalService.selectArdEquipExternal(accessControlHost);
+                    HCNetSDK.NET_DVR_ACS_ALARM_INFO strACSInfo = new HCNetSDK.NET_DVR_ACS_ALARM_INFO();
+                    strACSInfo.write();
+                    Pointer acsInfo = strACSInfo.getPointer();
+                    acsInfo.write(0, pAlarmInfo.getByteArray(0, strACSInfo.size()), 0, strACSInfo.size());
+                    strACSInfo.read();
+                    int dwMajor = strACSInfo.dwMajor;
+
+                    if (dwMajor != 5) {
+                        //鍙幏鍙栦簨浠�
+                        // log.debug("闈炰簨浠舵姤璀︽暟鎹笂鎶�(鏆備笉瑙f瀽)");
+                        break;
+                    }
+
+                    int dwMinor = strACSInfo.dwMinor;
+                    if (dwMinor != 80 && dwMinor != 104) {
+                        //鍙В鏋愮湡浜烘娴嬪け璐ュ拰浜鸿劯鎶撴媿澶辫触鐨勬绫诲瀷浜嬩欢
+                        break;
+                    }
+                    String alarmType = "";
+                    switch (dwMinor) {
+                        case 104:
+                            alarmType = "鐪熶汉妫�娴嬪け璐�";
+                            break;
+                        case 80:
+                            alarmType = "浜鸿劯鎶撴媿澶辫触";
+                            break;
+                    }
+                    log.debug("闂ㄧ涓绘満鎶ヨ涓婁紶:" + alarmType);
+                    String alarmTime = DateUtils.convertDate(parseAlarmTime(strACSInfo.struTime), "yyyy-M-d H:m:s");
+
+                    //浜嬩欢鍥剧墖澶勭悊
+                    int dwPicDataLen = strACSInfo.dwPicDataLen;
+                    if (dwPicDataLen > 0) {
+                        try {
+                            //灏嗗瓧鑺傚啓鍏ユ枃浠�
+                            long offset = 0;
+                            ByteBuffer buffers = strACSInfo.pPicData.getByteBuffer(offset, strACSInfo.dwPicDataLen);
+                            byte[] bytes = new byte[strACSInfo.dwPicDataLen];
+                            buffers.rewind();
+                            buffers.get(bytes);
+                            InputStream input = new ByteArrayInputStream(bytes);
+                            String bucketName = "pic";
+                            String objectName = "alarm/" + IdUtils.simpleUUID() + ".jpeg";
+                            boolean uploadObject = MinioUtil.uploadObject(bucketName, objectName, input, input.available(), "image/JPEG");
+                            if (uploadObject) {
+                                url = MinioUtil.getBucketObjectUrl(bucketName, objectName);
+                                //log.debug("涓婁紶鏂囦欢鎴愬姛!" + url);
+                            }
+                        } catch (Exception e) {
+                            log.error("鍥剧墖淇濆瓨澶辫触");
+                        }
+                    }
+                    HCNetSDK.NET_DVR_ACS_EVENT_INFO struAcsEventInfo = strACSInfo.struAcsEventInfo;
+                    int byType = struAcsEventInfo.byType;
+                    String defenseType = "";
+                    switch (byType) {
+                        case 0:
+                            defenseType = "鍗虫椂闃插尯";
+                            break;
+                        case 1:
+                            defenseType = "24灏忔椂闃插尯";
+                            break;
+                        case 2:
+                            defenseType = "寤舵椂闃插尯";
+                            break;
+                        case 3:
+                            defenseType = "鍐呴儴闃插尯";
+                            break;
+                        case 4:
+                            defenseType = "閽ュ寵闃插尯";
+                            break;
+                        case 5:
+                            defenseType = "鐏闃插尯";
+                            break;
+                        case 6:
+                            defenseType = "鍛ㄧ晫闃插尯";
+                            break;
+                        case 7:
+                            defenseType = "24灏忔椂鏃犲0闃插尯";
+                            break;
+                        case 8:
+                            defenseType = "24灏忔椂杈呭姪闃插尯";
+                            break;
+                        case 9:
+                            defenseType = "24灏忔椂闇囧姩闃插尯";
+                            break;
+                        case 10:
+                            defenseType = "闂ㄧ绱ф�ュ紑闂ㄩ槻鍖�";
+                            break;
+                        case 11:
+                            defenseType = "闂ㄧ绱ф�ュ叧闂ㄩ槻鍖�";
+                            break;
+                        default:
+                            defenseType = "鏃�";
+                            break;
+                    }
+                    AccessControlHostEventInfo accessControlHostEventInfo = new AccessControlHostEventInfo();
+                    accessControlHostEventInfo.setSerialNo(struAcsEventInfo.dwSerialNo);
+                    accessControlHostEventInfo.setAlarmType(alarmType);
+                    accessControlHostEventInfo.setDoorNo(struAcsEventInfo.dwDoorNo);
+                    accessControlHostEventInfo.setDefenseType(defenseType);
+                    accessControlHostEventInfo.setAlarmTime(alarmTime);
+                    accessControlHostEventInfo.setPicUrl(url);
+                    accessControlHostEventInfo.setAcsId(accessControlHost.getId());
+                    publishMqtt(accessControlHostEventInfo);
+                    //endregion
+                    break;
+                default:
+                    // log.debug("鏈煡鎶ヨ浜嬩欢绫诲瀷:lCommand:" + Integer.toHexString(lCommand));
+                    break;
+
+            }
         }
         return true;
     }
@@ -399,7 +392,7 @@
      */
     private String savePicture(CameraEventInfo info) {
         CameraCmd cmd = new CameraCmd();
-        String key=info.getCameraIp()+":"+info.getCameraPort();
+        String key = info.getCameraIp() + ":" + info.getCameraPort();
         ArdCameras Cameras = GlobalVariable.cameraMap.get(key);
         if (Cameras == null) {
             return "";
@@ -407,7 +400,7 @@
         cmd.setCameraId(Cameras.getId());
         cmd.setChannelNum(info.getCameraChannel());
         cmd.setBucketName("pic");
-        String filename =  "alarm" + "/" + IdUtils.simpleUUID() + ".jpg";
+        String filename = "alarm" + "/" + IdUtils.simpleUUID() + ".jpg";
         cmd.setObjectName(filename);
         String url = HikClientUtil.picCutCate(cmd);
         return url;
@@ -446,7 +439,7 @@
      * 閫氱敤鍏夌數鎶ヨ鎺ㄩ�乵qtt
      */
     private void publishMqtt(CameraEventInfo info) {
-         printLog(info);
+        printLog(info);
         MqttConsumer.publish(2, false, "camera", JSON.toJSONString(info));
     }
 
diff --git a/src/main/java/com/ard/utils/other/CodeGeneration.java b/src/main/java/com/ard/utils/other/CodeGeneration.java
new file mode 100644
index 0000000..e7994a4
--- /dev/null
+++ b/src/main/java/com/ard/utils/other/CodeGeneration.java
@@ -0,0 +1,126 @@
+package com.ard.utils.other;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.plugins.pagination.dialects.Oracle12cDialect;
+import com.baomidou.mybatisplus.generator.AutoGenerator;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.querys.OracleQuery;
+import com.baomidou.mybatisplus.generator.config.querys.PostgreSqlQuery;
+import com.baomidou.mybatisplus.generator.config.rules.DateType;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import java.util.Collections;
+
+/**
+ * @ClassName: CodeGeneration
+ * @Description: 浠g爜鐢熸垚鍣�
+ * @Author: Administrator
+ * @Date: 2023骞�03鏈�25鏃� 14:49
+ * @Version: 1.0
+ **/
+public class CodeGeneration {
+    public static void main(String[] args) {
+        /**
+         * 鍏堥厤缃暟鎹簮
+         */
+        //PostgreSqlQuery postgreSqlQuery = new PostgreSqlQuery() {
+        //    @Override
+        //    public String[] fieldCustom() {
+        //        return new String[]{"Default"};
+        //    }
+        //};
+
+        OracleQuery oracleQuery = new OracleQuery() {
+            @Override
+            public String[] fieldCustom() {
+                return new String[]{"Default"};
+            }
+        };
+        DataSourceConfig dsc = new DataSourceConfig.Builder("jdbc:oracle:thin:@//112.98.126.2:21521/orcl","c##ard_user","123456")
+                .dbQuery(oracleQuery).build();
+        //閫氳繃datasourceConfig鍒涘缓AutoGenerator
+        AutoGenerator generator = new AutoGenerator(dsc);
+
+        /**
+         * 鍏ㄥ眬閰嶇疆
+         */
+        String projectPath = System.getProperty("user.dir"); //鑾峰彇椤圭洰璺緞
+        String filePath = projectPath + "/src/main/java";  //java涓嬬殑鏂囦欢璺緞
+        GlobalConfig global = new GlobalConfig.Builder()
+                .outputDir(filePath)//鐢熸垚鐨勮緭鍑鸿矾寰�
+                .author("鍒樿嫃涔�")//鐢熸垚鐨勪綔鑰呭悕瀛�
+                //.enableSwagger()寮�鍚痵wagger锛岄渶瑕佹坊鍔爏wagger渚濊禆骞堕厤缃�
+                .dateType(DateType.TIME_PACK)//鏃堕棿绛栫暐
+                .commentDate("yyyy骞碝M鏈坉d鏃�")//鏍煎紡鍖栨椂闂存牸寮�
+                .disableOpenDir()//绂佹鎵撳紑杈撳嚭鐩綍锛岄粯璁alse
+                .fileOverride()//瑕嗙洊鐢熸垚鏂囦欢
+                .build();
+
+        /**
+         * 鍖呴厤缃�
+         */
+        PackageConfig packages = new PackageConfig.Builder()
+                .entity("domian")//瀹炰綋绫诲寘鍚�
+                .parent("com.ard.alarm.bridge")//鐖跺寘鍚嶃�傚鏋滀负绌猴紝灏嗕笅闈㈠瓙鍖呭悕蹇呴』鍐欏叏閮紝 鍚﹀垯灏卞彧闇�鍐欏瓙鍖呭悕
+                .controller("controller")//鎺у埗灞傚寘鍚�
+                .mapper("mapper")//mapper灞傚寘鍚�
+                .xml("mapper.xml")//鏁版嵁璁块棶灞倄ml鍖呭悕
+                .service("service")//service灞傚寘鍚�
+                .serviceImpl("service.impl")//service瀹炵幇绫诲寘鍚�
+                .pathInfo(Collections.singletonMap(OutputFile.xml, projectPath + "/src/main/resources/mapper"))
+                .build();
+
+        /**
+         * 绛栫暐閰嶇疆寮�濮�
+         */
+        StrategyConfig strategyConfig = new StrategyConfig.Builder()
+                .enableCapitalMode()//寮�鍚叏灞�澶у啓鍛藉悕
+                //.likeTable()妯$硦琛ㄥ尮閰�
+                .addInclude("DATABRIDGE")//娣诲姞琛ㄥ尮閰嶏紝鎸囧畾瑕佺敓鎴愮殑鏁版嵁琛ㄥ悕锛屼笉鍐欓粯璁ら�夊畾鏁版嵁搴撴墍鏈夎〃
+                //.disableSqlFilter()绂佺敤sql杩囨护:榛樿(涓嶄娇鐢ㄨ鏂规硶锛塼rue
+                //.enableSchema()鍚敤schema:榛樿false
+
+                .entityBuilder() //瀹炰綋绛栫暐閰嶇疆
+                //.disableSerialVersionUID()绂佺敤鐢熸垚SerialVersionUID锛氶粯璁rue
+                .enableChainModel()//寮�鍚摼寮忔ā鍨�
+                .enableLombok()//寮�鍚痩ombok
+                .enableRemoveIsPrefix()//寮�鍚� Boolean 绫诲瀷瀛楁绉婚櫎 is 鍓嶇紑
+                .enableTableFieldAnnotation()//寮�鍚敓鎴愬疄浣撴椂鐢熸垚瀛楁娉ㄨВ
+                //.addTableFills()娣诲姞琛ㄥ瓧娈靛~鍏�
+                .naming(NamingStrategy.underline_to_camel)//鏁版嵁琛ㄦ槧灏勫疄浣撳懡鍚嶇瓥鐣ワ細榛樿涓嬪垝绾胯浆椹煎嘲underline_to_camel
+                .columnNaming(NamingStrategy.underline_to_camel)//琛ㄥ瓧娈垫槧灏勫疄浣撳睘鎬у懡鍚嶈鍒欙細榛樿null锛屼笉鎸囧畾鎸夌収naming鎵ц
+                .idType(IdType.AUTO)//娣诲姞鍏ㄥ眬涓婚敭绫诲瀷
+                .formatFileName("%s")//鏍煎紡鍖栧疄浣撳悕绉帮紝%s鍙栨秷棣栧瓧姣岻
+                .build()
+
+                .mapperBuilder()//mapper鏂囦欢绛栫暐
+                .enableMapperAnnotation()//寮�鍚痬apper娉ㄨВ
+                .enableBaseResultMap()//鍚敤xml鏂囦欢涓殑BaseResultMap 鐢熸垚
+                .enableBaseColumnList()//鍚敤xml鏂囦欢涓殑BaseColumnList
+                //.cache(缂撳瓨绫�.class)璁剧疆缂撳瓨瀹炵幇绫�
+                .formatMapperFileName("%sMapper")//鏍煎紡鍖朌ao绫诲悕绉�
+                .formatXmlFileName("%sMapper")//鏍煎紡鍖杧ml鏂囦欢鍚嶇О
+                .build()
+
+                .serviceBuilder()//service鏂囦欢绛栫暐
+                .formatServiceFileName("%sService")//鏍煎紡鍖� service 鎺ュ彛鏂囦欢鍚嶇О
+                .formatServiceImplFileName("%sServiceImpl")//鏍煎紡鍖� service 鎺ュ彛鏂囦欢鍚嶇О
+                .build()
+
+                .controllerBuilder()//鎺у埗灞傜瓥鐣�
+                //.enableHyphenStyle()寮�鍚┘宄拌浆杩炲瓧绗︼紝榛樿锛歠alse
+                .enableRestStyle()//寮�鍚敓鎴怈RestController
+                .formatFileName("%sController")//鏍煎紡鍖栨枃浠跺悕绉�
+                .build();
+        /*鑷虫锛岀瓥鐣ラ厤缃墠绠楀熀鏈畬鎴愶紒*/
+
+        /**
+         * 灏嗘墍鏈夐厤缃」鏁村悎鍒癆utoGenerator涓繘琛屾墽琛�
+         */
+        generator.global(global)
+                .packageInfo(packages)
+                .strategy(strategyConfig)
+                .execute();
+    }
+}
+
+
diff --git a/src/main/resources/GeneratorMapper.xml b/src/main/resources/GeneratorMapper.xml
deleted file mode 100644
index 74a7223..0000000
--- a/src/main/resources/GeneratorMapper.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE generatorConfiguration
-        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
-        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
-<generatorConfiguration>
-    <!-- 鎸囧畾杩炴帴鏁版嵁搴撶殑 JDBC 椹卞姩鍖呮墍鍦ㄤ綅缃紝鎸囧畾鍒颁綘鏈満鐨勫畬鏁磋矾寰� -->
-    <classPathEntry location="D:\ENV\repository\com\oracle\ojdbc\ojdbc8\19.3.0.0\ojdbc8-19.3.0.0.jar"/>
-    <classPathEntry location="C:\Users\Administrator\Downloads\orai18n-19.7.0.0.jar"/>
-    <!-- 閰嶇疆 table 琛ㄤ俊鎭唴瀹逛綋锛宼argetRuntime 鎸囧畾閲囩敤 MyBatis3 鐨勭増鏈� -->
-    <context id="tables" targetRuntime="MyBatis3">
-        <!-- 鎶戝埗鐢熸垚娉ㄩ噴锛岀敱浜庣敓鎴愮殑娉ㄩ噴閮芥槸鑻辨枃鐨勶紝鍙互涓嶈瀹冪敓鎴� -->
-        <commentGenerator>
-            <property name="suppressAllComments" value="true"/>
-        </commentGenerator>
-        <!-- 閰嶇疆鏁版嵁搴撹繛鎺ヤ俊鎭� -->
-        <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
-                        connectionURL="jdbc:oracle:thin:@//112.98.126.2:21521/orcl"
-                        userId="c##ard_user"
-                        password="123456">
-        </jdbcConnection>
-        <!-- 鐢熸垚 model 绫伙紝targetPackage 鎸囧畾 model 绫荤殑鍖呭悕锛� targetProject 鎸囧畾
-       鐢熸垚鐨� model 鏀惧湪 eclipse 鐨勫摢涓伐绋嬩笅闈�-->
-        <javaModelGenerator targetPackage="com.ard.alarm.digitization.model"
-                            targetProject="src/main/java">
-            <property name="enableSubPackages" value="false"/>
-            <property name="trimStrings" value="false"/>
-        </javaModelGenerator>
-        <!-- 鐢熸垚 MyBatis 鐨� Mapper.xml 鏂囦欢锛宼argetPackage 鎸囧畾 mapper.xml 鏂囦欢鐨�
-       鍖呭悕锛� targetProject 鎸囧畾鐢熸垚鐨� mapper.xml 鏀惧湪 eclipse 鐨勫摢涓伐绋嬩笅闈� -->
-        <sqlMapGenerator targetPackage="mapper"
-                         targetProject="src/main/resources">
-            <property name="enableSubPackages" value="false"/>
-        </sqlMapGenerator>
-        <!-- 鐢熸垚 MyBatis 鐨� Mapper 鎺ュ彛绫绘枃浠�,targetPackage 鎸囧畾 Mapper 鎺ュ彛绫荤殑鍖�
-       鍚嶏紝 targetProject 鎸囧畾鐢熸垚鐨� Mapper 鎺ュ彛鏀惧湪 eclipse 鐨勫摢涓伐绋嬩笅闈� -->
-        <javaClientGenerator type="XMLMAPPER"
-                             targetPackage="com.ard.alarm.digitization.mapper" targetProject="src/main/java">
-            <property name="enableSubPackages" value="false"/>
-        </javaClientGenerator>
-        <!-- 鏁版嵁搴撹〃鍚嶅強瀵瑰簲鐨� Java 妯″瀷绫诲悕 -->
-        <table tableName="DATABRIDGE" domainObjectName="Databridge"
-               enableCountByExample="false"
-               enableUpdateByExample="false"
-               enableDeleteByExample="false"
-               enableSelectByExample="false"
-               selectByExampleQueryId="false">
-            <!--浣跨敤瀹為檯鐨勫瓧娈靛悕-->
-            <property name="useActualColumnNames" value="true"/>
-            <columnOverride column="DB_GUID" property="id"/>
-            <columnOverride column="DB_XMMC" property="xmmc"/>
-            <columnOverride column="DB_FKEY" property="fKey"/>
-            <columnOverride column="DB_FNAME" property="fName"/>
-            <columnOverride column="DB_VALUE" property="value"/>
-            <columnOverride column="DB_DATETIME" property="dateTime"/>
-        </table>
-    </context>
-</generatorConfiguration>
\ No newline at end of file
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index ed3593e..a2c8cdf 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -35,7 +35,7 @@
       port: 40000
       enabled: true
     tcp:
-      enabled: false
+      enabled: true
   # mqtt閰嶇疆
   mqtt:
     host: tcp://192.168.2.15:1883
@@ -58,18 +58,18 @@
     endpoint: http://192.168.2.15:9001
     accessKey: admin
     secretKey: xzx12345
-# mybatis閰嶇疆
-mybatis:
-  typeAliasesPackage: com.ard.alarm.**.domain
-  mapperLocations: classpath:/mapper/*.xml
+# mybatis-plus閰嶇疆
+mybatis-plus:
+  type-aliases-package: com.ard.alarm.**.domain
+  mapper-locations: classpath:/mapper/*.xml
 # 鏃ュ織绛夌骇閰嶇疆
 logging:
   level:
-    hikSdk: info
+    hikSdk: debug
     mqtt: info
-    netty: info
+    netty: debug
     external: info
     camera: info
     tube: info
-    digitization3: debug
-    stealAlarm: info
\ No newline at end of file
+    digitization3: info
+    stealAlarm: info
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index 0a5e94c..40c012f 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -56,10 +56,10 @@
   # 涓夊巶鏁板瓧鍖栧湴鍧�
   digitization3:
     enabled: false
-mybatis:
-  typeAliasesPackage: com.ard.alarm.**.domain
-  mapperLocations: classpath:/mapper/*.xml
-
+# mybatis-plus閰嶇疆
+mybatis-plus:
+  type-aliases-package: com.ard.alarm.**.domain
+  mapper-locations: classpath:/mapper/*.xml
 server:
   port: 8088
 logging:
diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
index 1df85d7..164d969 100644
--- a/src/main/resources/logback-spring.xml
+++ b/src/main/resources/logback-spring.xml
@@ -2,8 +2,8 @@
 <configuration>
     <!--鏃ュ織瀛樻斁璺緞-->
     <property name="log.path" value="./logs"/>
-    <!--鏃ュ織杈撳嚭鏍煎紡-->
-    <property name="log.pattern" value="%d{HH:mm:ss.SSS}[%thread]%-5level%logger{20}-[%method,%line]-%msg%n"/>
+    <!-- 鏃ュ織杈撳嚭鏍煎紡 -->
+    <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
     <!--鎺у埗鍙拌緭鍑�-->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
         <encoder>
diff --git a/src/main/resources/mapper/ArdCamerasMapper.xml b/src/main/resources/mapper/ArdCamerasMapper.xml
deleted file mode 100644
index 2ecf053..0000000
--- a/src/main/resources/mapper/ArdCamerasMapper.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.alarm.camera.mapper.ArdCamerasMapper">
-
-    <resultMap type="com.ard.alarm.camera.domain.ArdCameras" id="ArdCamerasResult">
-        <result property="id" column="id"/>
-        <result property="name" column="name"/>
-        <result property="ip" column="ip"/>
-        <result property="port" column="port"/>
-        <result property="rtspPort" column="rtsp_port"/>
-        <result property="username" column="username"/>
-        <result property="password" column="password"/>
-        <result property="gdtype" column="gdtype"/>
-        <result property="channel" column="channel"/>
-        <result property="longitude" column="longitude"/>
-        <result property="latitude" column="latitude"/>
-        <result property="altitude" column="altitude"/>
-        <result property="userId" column="user_id"/>
-        <result property="deptId" column="dept_id"/>
-        <result property="camHeading" column="cam_heading"/>
-        <result property="camPitch" column="cam_pitch"/>
-        <result property="camRoll" column="cam_roll"/>
-        <result property="camNear" column="cam_near"/>
-        <result property="camFar" column="cam_far"/>
-        <result property="camAspectratio" column="cam_aspectratio"/>
-        <result property="camDepth" column="cam_depth"/>
-        <result property="camFov" column="cam_fov"/>
-        <result property="loginId" column="login_id"/>
-        <result property="operatorId" column="operator_id"/>
-        <result property="operatorExpired" column="operator_expired"/>
-        <result property="camMaxVisibleDistance" column="cam_max_visible_distance"/>
-        <result property="camAlarmGuideEnable" column="cam_alarm_guide_enable"/>
-        <result property="updateTime" column="update_time"/>
-    </resultMap>
-
-    <sql id="selectArdCamerasVo">
-        select c.id,
-               c.name,
-               c.ip,
-               c.port,
-               c.rtsp_port,
-               c.username,
-               c.password,
-               c.gdtype,
-               c.channel,
-               c.longitude,
-               c.latitude,
-               c.altitude,
-               c.user_id,
-               c.dept_id,
-               c.cam_heading,
-               c.cam_pitch,
-               c.cam_roll,
-               c.cam_near,
-               c.cam_far,
-               c.cam_aspectratio,
-               c.cam_depth,
-               c.cam_fov,
-               c.operator_id,
-               c.operator_expired,
-               c.cam_max_visible_distance,
-               c.cam_alarm_guide_enable,
-               c.update_time
-        from ard_cameras c
-    </sql>
-
-    <select id="selectArdCamerasList" parameterType="com.ard.alarm.camera.domain.ArdCameras" resultMap="ArdCamerasResult">
-        <include refid="selectArdCamerasVo"/>
-        <where>
-            <if test="id != null  and id != ''">and c.id = #{id}</if>
-            <if test="name != null  and name != ''">and c.name like '%'||#{name}||'%'</if>
-            <if test="ip != null  and ip != ''">and c.ip = #{ip}</if>
-            <if test="port != null ">and c.port = #{port}</if>
-            <if test="rtspPort != null ">and c.rtsp_port = #{rtspPort}</if>
-            <if test="username != null  and username != ''">and c.username like '%'||#{username}||'%'</if>
-            <if test="password != null  and password != ''">and c.password = #{password}</if>
-            <if test="gdtype != null  and gdtype != ''">and c.gdtype = #{gdtype}</if>
-            <if test="channel != null ">and c.channel = #{channel}</if>
-            <if test="longitude != null ">and c.longitude = #{longitude}</if>
-            <if test="latitude != null ">and c.latitude = #{latitude}</if>
-            <if test="altitude != null ">and c.altitude = #{altitude}</if>
-            <if test="userId != null  and userId != ''">and c.user_id = #{userId}</if>
-            <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t
-                WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
-            </if>
-            <if test="camHeading != null ">and c.cam_heading = #{camHeading}</if>
-            <if test="camPitch != null ">and c.cam_pitch = #{camPitch}</if>
-            <if test="camRoll != null ">and c.cam_roll = #{camRoll}</if>
-            <if test="camNear != null ">and c.cam_near = #{camNear}</if>
-            <if test="camFar != null ">and c.cam_far = #{camFar}</if>
-            <if test="camAspectratio != null ">and c.cam_aspectratio = #{camAspectratio}</if>
-            <if test="camDepth != null ">and c.cam_depth = #{camDepth}</if>
-            <if test="camFov != null ">and c.cam_fov = #{camFov}</if>
-            <if test="camMaxVisibleDistance != null ">and c.cam_max_visible_distance = #{camMaxVisibleDistance}</if>
-            <if test="camAlarmGuideEnable != null ">and c.cam_alarm_guide_enable = #{camAlarmGuideEnable}</if>
-            <if test="loginId != null ">and c.login_id = #{loginId}</if>
-        </where>
-    </select>
-
-    <select id="selectArdCamerasById" parameterType="String" resultMap="ArdCamerasResult">
-        <include refid="selectArdCamerasVo"/>
-        where id = #{id}
-    </select>
-
-</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ArdEquipExternalMapper.xml b/src/main/resources/mapper/ArdEquipExternalMapper.xml
deleted file mode 100644
index 0cd93bf..0000000
--- a/src/main/resources/mapper/ArdEquipExternalMapper.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.alarm.external.mapper.ArdEquipExternalMapper">
-
-    <resultMap type="ArdEquipExternal" id="ArdEquipExternalResult">
-        <result property="id" column="id"/>
-        <result property="name" column="name"/>
-        <result property="type" column="type"/>
-        <result property="factory" column="factory"/>
-        <result property="ip" column="ip"/>
-        <result property="port" column="port"/>
-        <result property="username" column="username"/>
-        <result property="password" column="password"/>
-        <result property="longitude" column="longitude"/>
-        <result property="latitude" column="latitude"/>
-        <result property="altitude" column="altitude"/>
-        <result property="deptId" column="dept_id"/>
-        <result property="userId" column="user_id"/>
-        <result property="updateTime" column="update_time"/>
-    </resultMap>
-
-    <sql id="selectArdEquipExternalVo">
-        select c.id,
-               c.name,
-               c.type,
-               c.factory,
-               c.ip,
-               c.port,
-               c.username,
-               c.password,
-               c.longitude,
-               c.latitude,
-               c.altitude,
-               c.update_time
-        from ard_equip_external c
-    </sql>
-    <select id="selectArdEquipExternal" parameterType="ArdEquipExternal" resultMap="ArdEquipExternalResult">
-        <include refid="selectArdEquipExternalVo"/>
-        <where>
-            <if test="name != null  and name != ''">and c.name like '%'||#{name}||'%'</if>
-            <if test="type != null  and type != ''">and c.type = #{type}</if>
-            <if test="factory != null  and factory != ''">and c.factory = #{factory}</if>
-            <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t
-                WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
-            </if>
-            <if test="userId != null  and userId != ''">and c.user_id = #{userId}</if>
-            <if test="ip != null  and ip != ''">and c.ip = #{ip}</if>
-            <if test="port != null  and port != ''">and c.port = #{port}</if>
-        </where>
-    </select>
-    <select id="selectArdEquipExternalList" parameterType="ArdEquipExternal" resultMap="ArdEquipExternalResult">
-        <include refid="selectArdEquipExternalVo"/>
-        <where>
-            <if test="name != null  and name != ''">and c.name like '%'||#{name}||'%'</if>
-            <if test="type != null  and type != ''">and c.type = #{type}</if>
-            <if test="factory != null  and factory != ''">and c.factory = #{factory}</if>
-            <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t
-                WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
-            </if>
-            <if test="userId != null  and userId != ''">and c.user_id = #{userId}</if>
-        </where>
-    </select>
-
-    <select id="selectArdEquipExternalById" parameterType="String" resultMap="ArdEquipExternalResult">
-        <include refid="selectArdEquipExternalVo"/>
-        where id = #{id}
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/ArdEquipRadarMapper.xml b/src/main/resources/mapper/ArdEquipRadarMapper.xml
deleted file mode 100644
index d675849..0000000
--- a/src/main/resources/mapper/ArdEquipRadarMapper.xml
+++ /dev/null
@@ -1,180 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.alarm.radar.mapper.ArdEquipRadarMapper">
-    
-    <resultMap type="ArdEquipRadar" id="ArdEquipRadarResult">
-        <result property="id"    column="id"    />
-        <result property="name"    column="name"    />
-        <result property="port"    column="port"    />
-        <result property="operate"    column="operate"    />
-        <result property="delFlag"    column="del_flag"    />
-        <result property="userId"    column="user_id"    />
-        <result property="longitude"    column="longitude"    />
-        <result property="latitude"    column="latitude"    />
-        <result property="altitude"    column="altitude"    />
-        <result property="radarDate"    column="radar_date"    />
-        <result property="deptId"    column="dept_id"    />
-        <result property="pitch"    column="pitch"    />
-        <result property="towerId"    column="tower_id"    />
-        <result property="imageWidth"    column="image_width"    />
-        <result property="imageHeight"    column="image_height"    />
-        <result property="type"    column="type"    />
-        <result property="ip"    column="ip"    />
-        <result property="towerName"    column="name"    />
-    </resultMap>
-
-    <sql id="selectArdEquipRadarVo">
-        select c.id,
-               c.name,
-               c.create_by,
-               c.port,
-               c.operate,
-               c.create_time,
-               c.update_by,
-               c.update_time,
-               c.del_flag,
-               c.user_id,
-               c.longitude,
-               c.latitude,
-               c.altitude,
-               c.radar_date,
-               c.dept_id,
-               c.pitch,
-               c.tower_id,
-               c.image_width,
-               c.image_height,
-               c.type,
-               c.ip
-        from ard_equip_radar c
-    </sql>
-
-    <select id="selectArdEquipRadarList" parameterType="ArdEquipRadar" resultMap="ArdEquipRadarResult">
-        select c.id,c.name,
-        c.create_by,
-        c.port,
-        c.operate,
-        c.create_time,
-        c.update_by,
-        c.update_time,
-        c.del_flag,
-        c.user_id,
-        c.longitude,
-        c.latitude,
-        c.altitude,
-        c.radar_date,
-        c.dept_id,
-        c.pitch,
-        c.tower_id,
-        c.image_width,
-        c.image_height,
-        c.type,
-        c.ip,
-        t.name
-        from ard_equip_radar c
-        left join sys_dept d on d.dept_id = c.dept_id
-        left join sys_user u on u.user_id = c.user_id
-        left join ard_towers t on t.id = c.tower_id
-        <where>
-            <if test="towerId != null  and towerId != ''"> and c.tower_id = #{towerId}</if>
-            <if test="userId != null  and userId != ''">and c.user_id = #{userId}</if>
-            <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t
-                WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
-            </if>
-        </where>
-    </select>
-    
-    <select id="selectArdEquipRadarById" parameterType="String" resultMap="ArdEquipRadarResult">
-        <include refid="selectArdEquipRadarVo"/>
-        where id = #{id}
-    </select>
-        
-    <insert id="insertArdEquipRadar" parameterType="ArdEquipRadar">
-        insert into ard_equip_radar
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null">id,</if>
-            <if test="name != null">name,</if>
-            <if test="createBy != null">create_by,</if>
-            <if test="port != null">port,</if>
-            <if test="operate != null">operate,</if>
-            <if test="createTime != null">create_time,</if>
-            <if test="updateBy != null">update_by,</if>
-            <if test="updateTime != null">update_time,</if>
-            <if test="delFlag != null">del_flag,</if>
-            <if test="userId != null">user_id,</if>
-            <if test="longitude != null">longitude,</if>
-            <if test="latitude != null">latitude,</if>
-            <if test="altitude != null">altitude,</if>
-            <if test="radarDate != null">radar_date,</if>
-            <if test="deptId != null">dept_id,</if>
-            <if test="pitch != null">pitch,</if>
-            <if test="towerId != null">tower_id,</if>
-            <if test="imageWidth != null">image_width,</if>
-            <if test="imageHeight != null">image_height,</if>
-            <if test="type != null">type,</if>
-            <if test="ip != null">ip,</if>
-         </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">#{id},</if>
-            <if test="name != null">#{name},</if>
-            <if test="createBy != null">#{createBy},</if>
-            <if test="port != null">#{port},</if>
-            <if test="operate != null">#{operate},</if>
-            <if test="createTime != null">#{createTime},</if>
-            <if test="updateBy != null">#{updateBy},</if>
-            <if test="updateTime != null">#{updateTime},</if>
-            <if test="delFlag != null">#{delFlag},</if>
-            <if test="userId != null">#{userId},</if>
-            <if test="longitude != null">#{longitude},</if>
-            <if test="latitude != null">#{latitude},</if>
-            <if test="altitude != null">#{altitude},</if>
-            <if test="radarDate != null">#{radarDate},</if>
-            <if test="deptId != null">#{deptId},</if>
-            <if test="pitch != null">#{pitch},</if>
-            <if test="towerId != null">#{towerId},</if>
-            <if test="imageWidth != null">#{imageWidth},</if>
-            <if test="imageHeight != null">#{imageHeight},</if>
-            <if test="type != null">#{type},</if>
-            <if test="ip != null">#{ip},</if>
-         </trim>
-    </insert>
-
-    <update id="updateArdEquipRadar" parameterType="ArdEquipRadar">
-        update ard_equip_radar
-        <trim prefix="SET" suffixOverrides=",">
-            <if test="name != null">name = #{name},</if>
-            <if test="createBy != null">create_by = #{createBy},</if>
-            <if test="port != null">port = #{port},</if>
-            <if test="operate != null">operate = #{operate},</if>
-            <if test="createTime != null">create_time = #{createTime},</if>
-            <if test="updateBy != null">update_by = #{updateBy},</if>
-            <if test="updateTime != null">update_time = #{updateTime},</if>
-            <if test="delFlag != null">del_flag = #{delFlag},</if>
-            <if test="userId != null">user_id = #{userId},</if>
-            <if test="longitude != null">longitude = #{longitude},</if>
-            <if test="latitude != null">latitude = #{latitude},</if>
-            <if test="altitude != null">altitude = #{altitude},</if>
-            <if test="radarDate != null">radar_date = #{radarDate},</if>
-            <if test="deptId != null">dept_id = #{deptId},</if>
-            <if test="pitch != null">pitch = #{pitch},</if>
-            <if test="towerId != null">tower_id = #{towerId},</if>
-            <if test="imageWidth != null">image_width = #{imageWidth},</if>
-            <if test="imageHeight != null">image_height = #{imageHeight},</if>
-            <if test="type != null">type = #{type},</if>
-            <if test="ip != null">ip = #{ip},</if>
-        </trim>
-        where id = #{id}
-    </update>
-
-    <delete id="deleteArdEquipRadarById" parameterType="String">
-        delete from ard_equip_radar where id = #{id}
-    </delete>
-
-    <delete id="deleteArdEquipRadarByIds" parameterType="String">
-        delete from ard_equip_radar where id in 
-        <foreach item="id" collection="array" open="(" separator="," close=")">
-            #{id}
-        </foreach>
-    </delete>
-</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/DataBridgeMapper.xml b/src/main/resources/mapper/DataBridgeMapper.xml
deleted file mode 100644
index 31b642f..0000000
--- a/src/main/resources/mapper/DataBridgeMapper.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ard.alarm.digitization.mapper.DataBridgeMapper">
-  <resultMap id="BaseResultMap" type="com.ard.alarm.digitization.model.DataBridge">
-    <id column="DB_GUID" jdbcType="NVARCHAR" property="id" />
-    <result column="DB_XMMC" jdbcType="VARCHAR" property="xmmc" />
-    <result column="DB_FKEY" jdbcType="VARCHAR" property="fKey" />
-    <result column="DB_FNAME" jdbcType="VARCHAR" property="fName" />
-    <result column="DB_VALUE" jdbcType="VARCHAR" property="value" />
-    <result column="DB_DATETIME" jdbcType="DATE" property="dateTime" />
-    <result column="DB_BZ" jdbcType="VARCHAR" property="DB_BZ" />
-  </resultMap>
-  <sql id="Base_Column_List">
-    DB_GUID, DB_XMMC, DB_FKEY, DB_FNAME, DB_VALUE, DB_DATETIME, DB_BZ
-  </sql>
-  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
-    select 
-    <include refid="Base_Column_List" />
-    from DATABRIDGE
-    where DB_GUID = #{id,jdbcType=NVARCHAR}
-  </select>
-  <select id="selectDatabridgeList" parameterType="com.ard.alarm.digitization.model.DataBridge" resultMap="BaseResultMap">
-    select
-    <include refid="Base_Column_List" />
-    from (select * from DATABRIDGE  order by DB_DATETIME desc )
-    <where>
-      <if test="dateTime != null "> and DB_DATETIME > cast(#{dateTime,jdbcType=DATE} as date)</if>
-      <if test="rowNum != null  ">and rownum &lt; #{rowNum}</if>
-    </where>
-  </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
-    delete from DATABRIDGE
-    where DB_GUID = #{id,jdbcType=NVARCHAR}
-  </delete>
-  <insert id="insert" parameterType="com.ard.alarm.digitization.model.DataBridge">
-    insert into DATABRIDGE (DB_GUID, DB_XMMC, DB_FKEY, 
-      DB_FNAME, DB_VALUE, DB_DATETIME, 
-      DB_BZ)
-    values (#{id,jdbcType=NVARCHAR}, #{xmmc,jdbcType=VARCHAR}, #{fKey,jdbcType=VARCHAR}, 
-      #{fName,jdbcType=VARCHAR}, #{value,jdbcType=VARCHAR}, #{dateTime,jdbcType=TIMESTAMP}, 
-      #{DB_BZ,jdbcType=VARCHAR})
-  </insert>
-  <insert id="insertSelective" parameterType="com.ard.alarm.digitization.model.DataBridge">
-    insert into DATABRIDGE
-    <trim prefix="(" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        DB_GUID,
-      </if>
-      <if test="xmmc != null">
-        DB_XMMC,
-      </if>
-      <if test="fKey != null">
-        DB_FKEY,
-      </if>
-      <if test="fName != null">
-        DB_FNAME,
-      </if>
-      <if test="value != null">
-        DB_VALUE,
-      </if>
-      <if test="dateTime != null">
-        DB_DATETIME,
-      </if>
-      <if test="DB_BZ != null">
-        DB_BZ,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides=",">
-      <if test="id != null">
-        #{id,jdbcType=NVARCHAR},
-      </if>
-      <if test="xmmc != null">
-        #{xmmc,jdbcType=VARCHAR},
-      </if>
-      <if test="fKey != null">
-        #{fKey,jdbcType=VARCHAR},
-      </if>
-      <if test="fName != null">
-        #{fName,jdbcType=VARCHAR},
-      </if>
-      <if test="value != null">
-        #{value,jdbcType=VARCHAR},
-      </if>
-      <if test="dateTime != null">
-        #{dateTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="DB_BZ != null">
-        #{DB_BZ,jdbcType=VARCHAR},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.ard.alarm.digitization.model.DataBridge">
-    update DATABRIDGE
-    <set>
-      <if test="xmmc != null">
-        DB_XMMC = #{xmmc,jdbcType=VARCHAR},
-      </if>
-      <if test="fKey != null">
-        DB_FKEY = #{fKey,jdbcType=VARCHAR},
-      </if>
-      <if test="fName != null">
-        DB_FNAME = #{fName,jdbcType=VARCHAR},
-      </if>
-      <if test="value != null">
-        DB_VALUE = #{value,jdbcType=VARCHAR},
-      </if>
-      <if test="dateTime != null">
-        DB_DATETIME = #{dateTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="DB_BZ != null">
-        DB_BZ = #{DB_BZ,jdbcType=VARCHAR},
-      </if>
-    </set>
-    where DB_GUID = #{id,jdbcType=NVARCHAR}
-  </update>
-  <update id="updateByPrimaryKey" parameterType="com.ard.alarm.digitization.model.DataBridge">
-    update DATABRIDGE
-    set DB_XMMC = #{xmmc,jdbcType=VARCHAR},
-      DB_FKEY = #{fKey,jdbcType=VARCHAR},
-      DB_FNAME = #{fName,jdbcType=VARCHAR},
-      DB_VALUE = #{value,jdbcType=VARCHAR},
-      DB_DATETIME = #{dateTime,jdbcType=TIMESTAMP},
-      DB_BZ = #{DB_BZ,jdbcType=VARCHAR}
-    where DB_GUID = #{id,jdbcType=NVARCHAR}
-  </update>
-</mapper>
\ No newline at end of file

--
Gitblit v1.9.3