pom.xml
@@ -59,11 +59,23 @@ <artifactId>examples</artifactId> <version>1.0.0</version> </dependency> <!--mybatisä¾èµ--> <!--MP代ç çæå¨ä¾èµ--> <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--> <!--è¿é注æï¼æäºojdbcççæ¬ä¸æ¯æjdk1.8ï¼éå°è¿ï¼ç½ä¸è¯´è¿ä¸ªojdbc8æ¯æï¼æä»¥è¿é使ç¨å®--> src/main/java/com/ard/alarm/apponekey/mapper/ArdAlarmApponekeyMapper.java
ÎļþÒÑɾ³ý 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); } 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ä¸é®æ¥è¦Serviceä¸å¡å±å¤ç @@ -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); } } 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; /** * ééå· 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); } 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 ç¸æºè®¾å¤éå */ 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); } src/main/java/com/ard/alarm/digitization/controller/DatabridgeController.java
ÎļþÒÑɾ³ý src/main/java/com/ard/alarm/digitization/mapper/DataBridgeMapper.java
ÎļþÒÑɾ³ý src/main/java/com/ard/alarm/digitization/service/DataBridgeService.java
@@ -6,5 +6,4 @@ public interface DataBridgeService { List<DataBridge> selectDatabridgeList(DataBridge row); } 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; } } 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); } 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); } 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 @@ /** å¡id */ private String towerId; /** å¡åç§° */ @TableField(exist = false) private String towerName; /** å¾å宽度 */ 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); } 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); } } 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); } } 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("äººè¸æ£æµäºä»¶ä¸æ¥(æä¸è§£æ)"); // break; // case HCNetSDK.COMM_GISINFO_UPLOAD: // log.debug("GPSæ¥è¦ä¿¡æ¯ä¸æ¥(æä¸è§£æ)"); // 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("éäºä»¶æ¥è¦æ°æ®ä¸æ¥(æä¸è§£æ)"); 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å°æ¶æ 声é²åº"; 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("äººè¸æ£æµäºä»¶ä¸æ¥(æä¸è§£æ)"); break; case HCNetSDK.COMM_GISINFO_UPLOAD: //log.debug("GPSæ¥è¦ä¿¡æ¯ä¸æ¥(æä¸è§£æ)"); 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("éäºä»¶æ¥è¦æ°æ®ä¸æ¥(æä¸è§£æ)"); 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å°æ¶æ 声é²åº"; 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 @@ * éç¨å çµæ¥è¦æ¨émqtt */ private void publishMqtt(CameraEventInfo info) { printLog(info); printLog(info); MqttConsumer.publish(2, false, "camera", JSON.toJSONString(info)); } 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: 代ç çæå¨ * @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()å¼å¯swaggerï¼éè¦æ·»å swaggerä¾èµå¹¶é ç½® .dateType(DateType.TIME_PACK)//æ¶é´çç¥ .commentDate("yyyyå¹´MMæddæ¥")//æ ¼å¼åæ¶é´æ ¼å¼ .disableOpenDir()//ç¦æ¢æå¼è¾åºç®å½ï¼é»è®¤false .fileOverride()//è¦ççææä»¶ .build(); /** * å é ç½® */ PackageConfig packages = new PackageConfig.Builder() .entity("domian")//å®ä½ç±»å å .parent("com.ard.alarm.bridge")//ç¶å åãå¦æä¸ºç©ºï¼å°ä¸é¢åå åå¿ é¡»åå ¨é¨ï¼ å¦åå°±åªéååå å .controller("controller")//æ§å¶å±å å .mapper("mapper")//mapperå±å å .xml("mapper.xml")//æ°æ®è®¿é®å±xmlå å .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è¿æ»¤:é»è®¤(ä¸ä½¿ç¨è¯¥æ¹æ³ï¼true //.enableSchema()å¯ç¨schema:é»è®¤false .entityBuilder() //å®ä½çç¥é ç½® //.disableSerialVersionUID()ç¦ç¨çæSerialVersionUIDï¼é»è®¤true .enableChainModel()//å¼å¯é¾å¼æ¨¡å .enableLombok()//å¼å¯lombok .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åæ¶é¦åæ¯I .build() .mapperBuilder()//mapperæä»¶çç¥ .enableMapperAnnotation()//å¼å¯mapper注解 .enableBaseResultMap()//å¯ç¨xmlæä»¶ä¸çBaseResultMap çæ .enableBaseColumnList()//å¯ç¨xmlæä»¶ä¸çBaseColumnList //.cache(ç¼åç±».class)设置ç¼åå®ç°ç±» .formatMapperFileName("%sMapper")//æ ¼å¼åDaoç±»åç§° .formatXmlFileName("%sMapper")//æ ¼å¼åxmlæä»¶åç§° .build() .serviceBuilder()//serviceæä»¶çç¥ .formatServiceFileName("%sService")//æ ¼å¼å service æ¥å£æä»¶åç§° .formatServiceImplFileName("%sServiceImpl")//æ ¼å¼å service æ¥å£æä»¶åç§° .build() .controllerBuilder()//æ§å¶å±çç¥ //.enableHyphenStyle()å¼å¯é©¼å³°è½¬è¿å符ï¼é»è®¤ï¼false .enableRestStyle()//å¼å¯çæ@RestController .formatFileName("%sController")//æ ¼å¼åæä»¶åç§° .build(); /*è³æ¤ï¼çç¥é ç½®æç®åºæ¬å®æï¼*/ /** * å°ææé 置项æ´åå°AutoGeneratorä¸è¿è¡æ§è¡ */ generator.global(global) .packageInfo(packages) .strategy(strategyConfig) .execute(); } } src/main/resources/GeneratorMapper.xml
ÎļþÒÑɾ³ý 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 digitization3: info stealAlarm: info 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: 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> src/main/resources/mapper/ArdCamerasMapper.xml
ÎļþÒÑɾ³ý src/main/resources/mapper/ArdEquipExternalMapper.xml
ÎļþÒÑɾ³ý src/main/resources/mapper/ArdEquipRadarMapper.xml
ÎļþÒÑɾ³ý src/main/resources/mapper/DataBridgeMapper.xml
ÎļþÒÑɾ³ý