src/main/java/com/ard/alarm/camera/service/impl/ArdCamerasServiceImpl.java
@@ -4,8 +4,13 @@ import com.ard.alarm.camera.domain.ArdCameras; import com.ard.alarm.camera.mapper.ArdCamerasMapper; import com.ard.alarm.camera.service.IArdCamerasService; import com.ard.alarm.external.domain.ArdEquipExternal; import com.ard.alarm.external.mapper.ArdEquipExternalMapper; import com.ard.utils.hiksdk.service.impl.HikClientUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; @@ -19,17 +24,25 @@ */ @Service @Slf4j(topic = "camera") public class ArdCamerasServiceImpl implements IArdCamerasService { @Order(4) public class ArdCamerasServiceImpl implements IArdCamerasService, ApplicationRunner { @Resource private ArdCamerasMapper ardCamerasMapper; @Resource private ArdEquipExternalMapper ardEquipExternalMapper; @Override public void run(ApplicationArguments args) throws Exception { @PostConstruct public void init() { List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasList(new ArdCameras()); HikClientUtil.loadHCNetSDKLib(); HikClientUtil.loginAll(ardCameras); //è·åå ¨é¨æµ·åº·å çµ List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasList(new ArdCameras()); HikClientUtil.loginAllCamera(ardCameras); //è·åå ¨é¨æµ·åº·æ¥è¦ä¸»æº ArdEquipExternal ardEquipExternal= new ArdEquipExternal(); ardEquipExternal.setFactory("1"); ardEquipExternal.setType("1"); List<ArdEquipExternal> ardEquipExternals = ardEquipExternalMapper.selectArdEquipExternalList(ardEquipExternal); HikClientUtil.loginAllAlarmHost(ardEquipExternals); } /** * æ¥è¯¢ç¸æºè®¾å¤ @@ -53,4 +66,5 @@ return ardCamerasMapper.selectArdCamerasList(ardCameras); } } src/main/java/com/ard/alarm/external/domain/ArdEquipExternal.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,55 @@ package com.ard.alarm.external.domain; import lombok.Data; /** * å¤è设å¤ç®¡ç对象 ard_equip_external * * @author ard * @date 2023-07-07 */ @Data public class ArdEquipExternal { private static final long serialVersionUID = 1L; /** id */ private String id; /** åç§° */ private String name; /** 设å¤ç±»å */ private String type; /** åå */ private String factory; /** ip */ private String ip; /** ç«¯å£ */ private Integer port; /** ç¨æ·å */ private String username; /** å¯ç */ private String password; /** ç»åº¦ */ private Double longitude; /** 纬度 */ private Double latitude; /** å®è£ é«åº¦ */ private Double altitude; /** é¨é¨id */ private Integer deptId; /** ç¨æ·id */ private String userId; } src/main/java/com/ard/alarm/external/mapper/ArdEquipExternalMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,33 @@ package com.ard.alarm.external.mapper; import java.util.List; import com.ard.alarm.external.domain.ArdEquipExternal; import org.apache.ibatis.annotations.Mapper; /** * externalMapperæ¥å£ * * @author zj * @date 2023-03-13 */ @Mapper public interface ArdEquipExternalMapper { /** * æ¥è¯¢external * * @param id externalä¸»é® * @return external */ public ArdEquipExternal selectArdEquipExternalById(String id); /** * æ¥è¯¢externalå表 * * @param ardEquipExternal external * @return externaléå */ public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal); } src/main/java/com/ard/alarm/external/service/IArdEquipExternalService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ package com.ard.alarm.external.service; import java.util.List; import com.ard.alarm.external.domain.ArdEquipExternal; /** * externalServiceæ¥å£ * * @author zj * @date 2023-03-13 */ public interface IArdEquipExternalService { /** * æ¥è¯¢external * * @param id externalä¸»é® * @return external */ public ArdEquipExternal selectArdEquipExternalById(String id); /** * æ¥è¯¢externalå表 * * @param ardEquipExternal external * @return externaléå */ public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal); } src/main/java/com/ard/alarm/external/service/impl/ArdEquipExternalServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ package com.ard.alarm.external.service.impl; import java.util.List; import com.ard.alarm.external.domain.ArdEquipExternal; import com.ard.alarm.external.mapper.ArdEquipExternalMapper; import com.ard.alarm.external.service.IArdEquipExternalService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * externalServiceä¸å¡å±å¤ç * * @author zj * @date 2023-03-13 */ @Service public class ArdEquipExternalServiceImpl implements IArdEquipExternalService { @Autowired private ArdEquipExternalMapper ardEquipExternalMapper; /** * æ¥è¯¢external * * @param id externalä¸»é® * @return external */ @Override public ArdEquipExternal selectArdEquipExternalById(String id) { return ardEquipExternalMapper.selectArdEquipExternalById(id); } /** * æ¥è¯¢externalå表 * * @param ardEquipExternal external * @return external */ @Override public List<ArdEquipExternal> selectArdEquipExternalList(ArdEquipExternal ardEquipExternal) { return ardEquipExternalMapper.selectArdEquipExternalList(ardEquipExternal); } } src/main/java/com/ard/alarm/tube/service/TubeAlarmService.java
@@ -7,6 +7,9 @@ import com.ard.utils.udp.NettyUdpServer; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -24,7 +27,8 @@ **/ @Service @Slf4j(topic = "tube") public class TubeAlarmService { @Order(3) public class TubeAlarmService implements ApplicationRunner { @Resource NettyUdpServer nettyUdpServer; @@ -32,15 +36,15 @@ private Integer udpPort; @Value("${spring.netty.udp.enabled}") private String UdpServerEnable; @PostConstruct public void init() { @Override public void run(ApplicationArguments args) throws Exception { if (UdpServerEnable.equals("false")) { return; } nettyUdpServer.init(udpPort); log.info("管线æ³é²UDPæå¡å·²å¯å¨"); } @Async("alarm") public void alarmHandler(String message) { @@ -79,4 +83,6 @@ log.error("tubeæ¥è¦æ°æ®æ¨éå¼å¸¸ï¼" + ex.getMessage()); } } } src/main/java/com/ard/utils/hiksdk/common/GlobalVariable.java
@@ -1,6 +1,7 @@ package com.ard.utils.hiksdk.common; import com.ard.alarm.camera.domain.ArdCameras; import com.ard.alarm.external.domain.ArdEquipExternal; import lombok.Data; import java.util.HashMap; import java.util.Map; @@ -16,6 +17,8 @@ public class GlobalVariable { //ä¿åç¸æºä¿¡æ¯key:ip value:camera对象 public static Map<String, ArdCameras> cameraMap = new HashMap<>(); //ä¿åç¸æºä¿¡æ¯key:ip value:æ¥è¦ä¸»æºå¯¹è±¡ public static Map<String, ArdEquipExternal> alarmHostMap = new HashMap<>(); //ä¿åç¸æºç»å½ä¿¡æ¯key:cameraId value:loginId public static Map<String, Integer> loginMap = new HashMap<>(); } src/main/java/com/ard/utils/hiksdk/domain/DeviceInfo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ package com.ard.utils.hiksdk.domain; import lombok.Data; /** * @Description: * @ClassName: DeviceInfo * @Author: åèä¹ * @Date: 2023å¹´07æ07æ¥9:45 * @Version: 1.0 **/ @Data public class DeviceInfo { /** * 设å¤ID */ private String deviceId; /** * 设å¤ç±»å */ private String deviceType; /** * ip */ private String ip; /** * ç«¯å£ */ private Integer port; /** * ç¨æ·å */ private String username; /** * å¯ç */ private String password; } src/main/java/com/ard/utils/hiksdk/domain/ExternalAlarmEventInfo.java
@@ -42,29 +42,8 @@ */ Integer subSysNo; /** * å ³èç¸æºid * å ³èæ¥è¦ä¸»æºid */ String cameraId; /** * å ³èç¸æºåç§° */ String cameraName; /** * å ³èç¸æºip */ String cameraIp; /** * å ³èç¸æºç»åº¦ */ Double longitude; /** * å ³èç¸æºçº¬åº¦ */ Double latitude; /** * å ³èç¸æºç±»å */ String cameraType; String alarmHostId; } src/main/java/com/ard/utils/hiksdk/service/impl/FMSGCallBack.java
@@ -3,7 +3,11 @@ import com.alibaba.fastjson2.JSON; import com.ard.alarm.camera.domain.ArdCameras; import com.ard.alarm.camera.domain.CameraCmd; import com.ard.alarm.camera.service.IArdCamerasService; import com.ard.alarm.camera.service.impl.ArdCamerasServiceImpl; import com.ard.alarm.external.domain.ArdEquipExternal; import com.ard.alarm.external.service.IArdEquipExternalService; import com.ard.alarm.external.service.impl.ArdEquipExternalServiceImpl; import com.ard.config.MinioClientSingleton; import com.ard.utils.ByteUtils; import com.ard.utils.hiksdk.common.GlobalVariable; @@ -45,13 +49,10 @@ */ @Override public boolean invoke(int lCommand, HCNetSDK.NET_DVR_ALARMER pAlarmer, Pointer pAlarmInfo, int dwBufLen, Pointer pUser) { ArdCamerasServiceImpl ardCamerasService = SpringTool.getApplicationContext().getBean(ArdCamerasServiceImpl.class); String sDeviceIP = ByteUtils.bytesToStringZh(pAlarmer.sDeviceIP); Integer wLinkPort = Integer.valueOf(pAlarmer.wLinkPort); ArdCameras ardCameras = new ArdCameras(); ardCameras.setIp(sDeviceIP); ardCameras.setPort(wLinkPort); ArdCameras ardcamere = ardCamerasService.selectArdCamerasList(ardCameras).get(0); String sTime;//äºä»¶æ¶é´ String url;//äºä»¶å¾ç alarmEventInfo info;//äºä»¶ä¿¡æ¯ @@ -60,6 +61,11 @@ switch (lCommand) { case HCNetSDK.COMM_ALARM_RULE: //region è¡ä¸ºåæä¿¡æ¯ ArdCameras ardCameras = new ArdCameras(); ardCameras.setIp(sDeviceIP); ardCameras.setPort(wLinkPort); IArdCamerasService ardCamerasService = SpringTool.getApplicationContext().getBean(IArdCamerasService.class); ArdCameras ardcamere = ardCamerasService.selectArdCamerasList(ardCameras).get(0); log.info("æ¥è¦äºä»¶ç±»å:lCommand:" + Integer.toHexString(lCommand)); HCNetSDK.NET_VCA_RULE_ALARM strVcaAlarm = new HCNetSDK.NET_VCA_RULE_ALARM(); strVcaAlarm.write(); @@ -146,6 +152,13 @@ break; case HCNetSDK.COMM_ALARMHOST_CID_ALARM: log.info("æ¥è¦ä¸»æº CID æ¥åæ¥è¦ä¸ä¼ "); ArdEquipExternal ardEquipExternal = new ArdEquipExternal(); ardEquipExternal.setIp(sDeviceIP); ardEquipExternal.setPort(wLinkPort); IArdEquipExternalService ardEquipExternalService = SpringTool.getApplicationContext().getBean(IArdEquipExternalService.class); ardEquipExternal = ardEquipExternalService.selectArdEquipExternalList(ardEquipExternal).get(0); HCNetSDK.NET_DVR_CID_ALARM netDvrCidAlarm = new HCNetSDK.NET_DVR_CID_ALARM(); netDvrCidAlarm.write(); Pointer pCIDInfo = netDvrCidAlarm.getPointer(); @@ -202,7 +215,7 @@ String wDefenceName = ""; if (!bySubSysNo.equals(-1)) { CameraCmd cmd = new CameraCmd(); cmd.setCameraId(ardcamere.getId()); cmd.setCameraId(ardEquipExternal.getId()); cmd.setWZoneIndex(wDefenceNo); wDefenceName = HikClientUtil.getDefenseZoneName(cmd); } @@ -217,10 +230,7 @@ externalAlarmEventInfo.setSubSysNo(bySubSysNo); externalAlarmEventInfo.setAlarmType(byReportType); externalAlarmEventInfo.setAlarmTime(struTriggerTime); externalAlarmEventInfo.setCameraId(ardcamere.getId()); externalAlarmEventInfo.setCameraName(ardcamere.getName()); externalAlarmEventInfo.setCameraIp(ardcamere.getIp()); externalAlarmEventInfo.setCameraType(ardcamere.getGdtype()); externalAlarmEventInfo.setAlarmHostId(ardEquipExternal.getId()); publishMqtt(externalAlarmEventInfo); break; default: @@ -291,14 +301,14 @@ "ãIPã" + info.getCameraIp() + "ãééã" + info.getCameraChannel() + "ãåå·ã" + info.getCameraType() + "ãå¾çã" + info.getPicUrl() + "ãåæ ã" + info.getLongitude() + "," + info.getLatitude()); } /** * æå°å¤èæ¥è¦æ¥å¿ */ private void printLog(ExternalAlarmEventInfo info) { log.info("ãæ¥è¦IDã" + info.getAlarmId() + "ãæ¥è¦åç§°ã" + info.getAlarmName() + "ãé²åºIDã" + info.getDefenseId() + "ãé²åºåç§°ã" + info.getDefenseName() + "ãç±»åã" + info.getAlarmType() + "ãæ¶é´ã" + info.getAlarmTime() + "ãç¸æºIDã" + info.getCameraId() + "ãç¸æºã" + info.getCameraName() + "ãIPã" + info.getCameraIp() + "ãåå·ã" + info.getCameraType()); "ãæ¶é´ã" + info.getAlarmTime() + "ãæ¥è¦ä¸»æºIDã" + info.getAlarmHostId()); } /** @@ -308,13 +318,15 @@ // printLog(info); MqttConsumer.publish(2, false, "camera", JSON.toJSONString(info)); } /** * å¤èæ¥è¦æ¨émqtt */ private void publishMqtt(ExternalAlarmEventInfo info) { printLog(info); MqttConsumer.publish(2, false, "camera", JSON.toJSONString(info)); MqttConsumer.publish(2, false, "external", JSON.toJSONString(info)); } /** * æ¶é´æ ¼å¼å */ src/main/java/com/ard/utils/hiksdk/service/impl/HikClientUtil.java
@@ -2,8 +2,10 @@ import com.ard.alarm.camera.domain.ArdCameras; import com.ard.alarm.camera.domain.CameraCmd; import com.ard.alarm.external.domain.ArdEquipExternal; import com.ard.utils.ByteUtils; import com.ard.utils.hiksdk.common.GlobalVariable; import com.ard.utils.hiksdk.domain.DeviceInfo; import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK; import com.ard.utils.hiksdk.util.minio.MinioUtils; import com.sun.jna.Native; @@ -11,12 +13,13 @@ import com.sun.jna.Pointer; import com.sun.jna.ptr.IntByReference; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import java.io.*; import java.nio.ByteBuffer; import java.util.*; import static com.ard.utils.hiksdk.common.GlobalVariable.cameraMap; /** @@ -126,7 +129,7 @@ * @å建æ¶é´ 2023/1/17 16:12 * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ public static void login(ArdCameras camera) { public static void login(DeviceInfo deviceInfo) { // åå§å if (!hCNetSDK.NET_DVR_Init()) { log.error("SDKåå§å失败"); @@ -138,10 +141,10 @@ } else { hCNetSDK.NET_DVR_SetLogToFile(3, "/home/ardLog/hiklog", true); } String m_sDeviceIP = camera.getIp(); String m_sUsername = camera.getUsername(); String m_sPassword = camera.getPassword(); short m_sPort = camera.getPort().shortValue(); String m_sDeviceIP = deviceInfo.getIp(); String m_sUsername = deviceInfo.getUsername(); String m_sPassword = deviceInfo.getPassword(); short m_sPort = deviceInfo.getPort().shortValue(); //è®¾ç½®è¿æ¥æ¶é´ä¸éè¿æ¶é´ hCNetSDK.NET_DVR_SetConnectTime(2000, 1); hCNetSDK.NET_DVR_SetReconnect(100000, true); @@ -162,7 +165,7 @@ //æ¯å¦å¼æ¥ç»å½ï¼0- å¦ï¼1- æ¯ windowsSDK鿝trueåfalse m_strLoginInfo.bUseAsynLogin = true; //弿¥ç»å½åè° m_strLoginInfo.cbLoginResult = new LoginResultCallBack(camera); m_strLoginInfo.cbLoginResult = new LoginResultCallBack(deviceInfo); m_strLoginInfo.write(); int i = hCNetSDK.NET_DVR_Login_V40(m_strLoginInfo, m_strDeviceInfo); if (i < 0) { @@ -170,7 +173,6 @@ log.info("ç»å½å¼å¸¸ï¼" + errorCode); } } /** * @æè¿° ç»å½ææç¸æº * @åæ° [] @@ -179,18 +181,48 @@ * @å建æ¶é´ 2023/2/3 10:10 * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ public static void loginAll(List<ArdCameras> ardCameras) { public static void loginAllCamera(List<ArdCameras> ardCameras) { try { log.debug("å è½½lib宿ï¼"); for (ArdCameras camera : ardCameras) { Thread.sleep(100); login(camera); DeviceInfo info=new DeviceInfo(); info.setDeviceId(camera.getId()); info.setIp(camera.getIp()); info.setPort(camera.getPort()); info.setUsername(camera.getUsername()); info.setPassword(camera.getPassword()); login(info); String ip = camera.getIp(); cameraMap.put(ip, camera); GlobalVariable.cameraMap.put(ip, camera); } } catch (Exception ex) { log.error("åå§åç»å½ç¸æºå¼å¸¸ï¼" + ex.getMessage()); } } /** * @æè¿° ç»å½æææ¥è¦ä¸»æº * @åæ° [] * @è¿åå¼ void * @å建人 åèä¹ * @å建æ¶é´ 2023/2/3 10:10 * @ä¿®æ¹äººåå ¶å®ä¿¡æ¯ */ public static void loginAllAlarmHost(List<ArdEquipExternal> ardEquipExternals) { try { for (ArdEquipExternal alarmHost : ardEquipExternals) { Thread.sleep(100); DeviceInfo info=new DeviceInfo(); info.setDeviceId(alarmHost.getId()); info.setIp(alarmHost.getIp()); info.setPort(alarmHost.getPort()); info.setUsername(alarmHost.getUsername()); info.setPassword(alarmHost.getPassword()); login(info); String ip = alarmHost.getIp(); GlobalVariable.alarmHostMap.put(ip, alarmHost); } } catch (Exception ex) { log.error("åå§åæ¥è¦ä¸»æºå¼å¸¸ï¼" + ex.getMessage()); } } @@ -269,7 +301,7 @@ logout(lUserID); return lAlarmHandle; } else { log.info("ç¸æºå¸é²æå"); log.info("设å¤å¸é²æå"); return lAlarmHandle; } } @@ -379,4 +411,6 @@ } return name; } } src/main/java/com/ard/utils/hiksdk/service/impl/LoginResultCallBack.java
@@ -3,6 +3,7 @@ import com.ard.alarm.camera.domain.ArdCameras; import com.ard.alarm.camera.domain.CameraCmd; import com.ard.utils.hiksdk.common.GlobalVariable; import com.ard.utils.hiksdk.domain.DeviceInfo; import com.ard.utils.hiksdk.util.hikSdkUtil.HCNetSDK; import com.sun.jna.Pointer; import lombok.extern.slf4j.Slf4j; @@ -17,27 +18,20 @@ @Slf4j(topic = "hikSdk") public class LoginResultCallBack implements HCNetSDK.FLoginResultCallBack { private ArdCameras camera; public LoginResultCallBack(ArdCameras camera) { this.camera = camera; private DeviceInfo deviceInfo; public LoginResultCallBack(DeviceInfo deviceInfo) { this.deviceInfo=deviceInfo; } @Override public int invoke(int lUserID, int dwResult, HCNetSDK.NET_DVR_DEVICEINFO_V30 lpDeviceinfo, Pointer pUser) { if (GlobalVariable.loginMap.containsKey(camera.getId())) { GlobalVariable.loginMap.remove(camera.getId()); } if (dwResult == 1) { GlobalVariable.loginMap.put(camera.getId(), lUserID); log.info(camera.getIp() + ":" + camera.getPort() + "ç»å½æå"); camera.setLoginId(lUserID); camera.setChannel((int) lpDeviceinfo.byChanNum); GlobalVariable.loginMap.put(deviceInfo.getDeviceId(), lUserID); log.info(deviceInfo.getIp() + ":" + deviceInfo.getPort() + "ç»å½æå"); // 设置æ¥è¦åè°å½æ°ï¼å»ºç«æ¥è¦ä¸ä¼ ééï¼å¯ç¨å¸é²ï¼ HikClientUtil.setupAlarmChan(lUserID, -1); } else { log.info(camera.getIp() + ":" + camera.getPort() + "ç»å½å¤±è´¥"); camera.setChannel(0); camera.setLoginId(-1); log.info(deviceInfo.getIp() + ":" + deviceInfo.getPort() + "ç»å½å¤±è´¥"); } return 1; } src/main/java/com/ard/utils/mqtt/MqttConsumer.java
@@ -1,12 +1,17 @@ package com.ard.utils.mqtt; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.eclipse.paho.client.mqttv3.*; import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.springframework.expression.spel.ast.NullLiteral; import org.springframework.stereotype.Component; import java.io.UnsupportedEncodingException; /** * @Description: mqttæ¶è´¹å®¢æ·ç«¯ * @ClassName: MqttConsumer @@ -16,6 +21,7 @@ **/ @Component @Slf4j(topic = "mqtt") @Order(1) public class MqttConsumer implements ApplicationRunner { private static MqttClient client; @@ -23,8 +29,7 @@ @Override public void run(ApplicationArguments args) { log.info("åå§åå¹¶å¯å¨mqtt......"); if(PropertiesUtil.MQTT_ENABLED) { if (PropertiesUtil.MQTT_ENABLED) { this.connect(); } } @@ -130,7 +135,7 @@ /** * åå¸ï¼éæä¹ å * * <p> * qosæ ¹æ®ææ¡£è®¾ç½®ä¸º1 * * @param topic @@ -144,6 +149,7 @@ * åå¸ */ public static void publish(int qos, boolean retained, String topic, String pushMessage) { if (client != null) { log.info("ã主é¢ã:" + topic + "ãqosã:" + qos + "ãpushMessageã:" + pushMessage); MqttMessage message = new MqttMessage(); message.setQos(qos); @@ -171,4 +177,5 @@ } } } } src/main/java/com/ard/utils/tcp/ClientInitialize.java
@@ -17,6 +17,9 @@ import io.netty.channel.socket.nio.NioSocketChannel; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @@ -34,7 +37,8 @@ */ @Component @Slf4j(topic = "netty") public class ClientInitialize { @Order(2) public class ClientInitialize implements ApplicationRunner { @Resource IArdEquipRadarService ardEquipRadarService; @@ -119,8 +123,8 @@ /** * åå§åæ¹æ³ */ @PostConstruct public void initialize() { @Override public void run(ApplicationArguments args) throws Exception { if (!tcpClientEnable) { return; } src/main/resources/mapper/ArdEquipExternalMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,55 @@ <?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"/> </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 from ard_equip_external c </sql> <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>