src/main/java/com/genersoft/iot/vmp/common/ApiSaveConstant.java
@@ -1,5 +1,9 @@ package com.genersoft.iot.vmp.common; /** * 为API重命名, 方便向数据库记录数据的时候展示 * @author lin */ public class ApiSaveConstant { public static String getVal(String key) { @@ -35,8 +39,9 @@ return "[设备控制] 强制关键帧"; case "home_position": return "[设备控制] 看守位控制"; default: return ""; } break; case "query": if (keyItemArray.length <= 5) { return null; @@ -51,23 +56,30 @@ return "[设备查询] 同步设备通道"; case "delete": return "[设备查询] 移除设备"; default: return ""; } break; case "channel": return "[设备查询] 更新通道信息"; case "transport": return "[设备查询] 修改数据流传输模式"; default: return ""; } break; default: return ""; } break; case "gbStream": switch (keyItemArray[3]) { case "del": return "移除通道与国标的关联"; case "add": return "添加通道与国标的关联"; default: return ""; } break; case "media": break; case "position": @@ -85,8 +97,9 @@ return "向上级平台添加国标通道"; case "del_channel_for_gb": return "从上级平台移除国标通道"; default: return ""; } break; case "platform_gb_stream": break; case "play": @@ -101,32 +114,36 @@ return "结束转码"; case "broadcast": return "语音广播"; default: return ""; } break; case "download": switch (keyItemArray[3]) { case "start": return "开始历史媒体下载"; case "stop": return "停止历史媒体下载"; default: return ""; } break; case "playback": switch (keyItemArray[3]) { case "start": return "开始视频回放"; case "stop": return "停止视频回放"; default: return ""; } break; case "ptz": switch (keyItemArray[3]) { case "control": return "云台控制"; case "front_end_command": return "通用前端控制命令"; default: return ""; } break; case "gb_record": break; case "onvif": @@ -146,16 +163,18 @@ return "启用代理"; case "stop": return "停用代理"; default: return ""; } break; case "push": switch (keyItemArray[3]) { case "save_to_gb": return "将推流添加到国标"; case "remove_form_gb": return "将推流移出到国标"; default: return ""; } break; case "user": switch (keyItemArray[3]) { case "login": @@ -166,8 +185,11 @@ return "添加用户"; case "delete": return "删除用户"; default: return ""; } break; default: return ""; } } return null; src/main/java/com/genersoft/iot/vmp/conf/security/AnonymousAuthenticationEntryPoint.java
@@ -13,6 +13,7 @@ /** * 处理匿名用户访问逻辑 * @author lin */ @Component public class AnonymousAuthenticationEntryPoint implements AuthenticationEntryPoint { @@ -21,7 +22,6 @@ @Override public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e) { // logger.debug("用户需要登录,访问[{}]失败,AuthenticationException=[{}]", request.getRequestURI(), e.getMessage()); // 允许跨域 response.setHeader("Access-Control-Allow-Origin", "*"); // 允许自定义请求头token(允许head跨域) @@ -30,7 +30,8 @@ JSONObject jsonObject = new JSONObject(); jsonObject.put("code", "-1"); jsonObject.put("msg", "请登录后重新请求"); if (request.getRequestURI().contains("api/user/login")){ String logUri = "api/user/login"; if (request.getRequestURI().contains(logUri)){ jsonObject.put("msg", e.getMessage()); } response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); src/main/java/com/genersoft/iot/vmp/gb28181/bean/DeviceAlarmMethod.java
New file @@ -0,0 +1,40 @@ package com.genersoft.iot.vmp.gb28181.bean; /** * 报警方式 * @author lin * 1为电话报警, 2为设备报警, 3为短信报警, 4为 GPS报警, 5为视频报警, 6为设备故障报警, * 7其他报警;可以为直接组合如12为电话报警或 设备报警- */ public enum DeviceAlarmMethod { // 1为电话报警 Telephone(1), // 2为设备报警 Device(2), // 3为短信报警 SMS(3), // 4为 GPS报警 GPS(4), // 5为视频报警 Video(5), // 6为设备故障报警 DeviceFailure(6), // 7其他报警 Other(7); private final int val; DeviceAlarmMethod(int val) { this.val=val; } public int getVal() { return val; } } src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/notify/cmd/AlarmNotifyMessageHandler.java
@@ -32,7 +32,7 @@ @Component public class AlarmNotifyMessageHandler extends SIPRequestProcessorParent implements InitializingBean, IMessageHandler { private Logger logger = LoggerFactory.getLogger(AlarmNotifyMessageHandler.class); private final Logger logger = LoggerFactory.getLogger(AlarmNotifyMessageHandler.class); private final String cmdType = "Alarm"; @Autowired @@ -85,24 +85,27 @@ deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority")); deviceAlarm.setAlarmMethod(getText(rootElement, "AlarmMethod")); deviceAlarm.setAlarmTime(getText(rootElement, "AlarmTime")); if (getText(rootElement, "AlarmDescription") == null) { String alarmDescription = getText(rootElement, "AlarmDescription"); if (alarmDescription == null) { deviceAlarm.setAlarmDescription(""); } else { deviceAlarm.setAlarmDescription(getText(rootElement, "AlarmDescription")); deviceAlarm.setAlarmDescription(alarmDescription); } if (NumericUtil.isDouble(getText(rootElement, "Longitude"))) { deviceAlarm.setLongitude(Double.parseDouble(getText(rootElement, "Longitude"))); String longitude = getText(rootElement, "Longitude"); if (longitude != null && NumericUtil.isDouble(longitude)) { deviceAlarm.setLongitude(Double.parseDouble(longitude)); } else { deviceAlarm.setLongitude(0.00); } if (NumericUtil.isDouble(getText(rootElement, "Latitude"))) { deviceAlarm.setLatitude(Double.parseDouble(getText(rootElement, "Latitude"))); String latitude = getText(rootElement, "Latitude"); if (latitude != null && NumericUtil.isDouble(latitude)) { deviceAlarm.setLatitude(Double.parseDouble(latitude)); } else { deviceAlarm.setLatitude(0.00); } if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) { if ( deviceAlarm.getAlarmMethod().equals("4")) { if ( deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.GPS.getVal() + "")) { MobilePosition mobilePosition = new MobilePosition(); mobilePosition.setDeviceId(deviceAlarm.getDeviceId()); mobilePosition.setTime(deviceAlarm.getAlarmTime()); @@ -122,7 +125,7 @@ } } if (!StringUtils.isEmpty(deviceAlarm.getDeviceId())) { if (deviceAlarm.getAlarmMethod().equals("5")) { if (deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.Video.getVal() + "")) { deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType")); } } @@ -173,25 +176,28 @@ deviceAlarm.setAlarmPriority(getText(rootElement, "AlarmPriority")); deviceAlarm.setAlarmMethod(getText(rootElement, "AlarmMethod")); deviceAlarm.setAlarmTime(getText(rootElement, "AlarmTime")); if (getText(rootElement, "AlarmDescription") == null) { String alarmDescription = getText(rootElement, "AlarmDescription"); if (alarmDescription == null) { deviceAlarm.setAlarmDescription(""); } else { deviceAlarm.setAlarmDescription(getText(rootElement, "AlarmDescription")); deviceAlarm.setAlarmDescription(alarmDescription); } if (NumericUtil.isDouble(getText(rootElement, "Longitude"))) { deviceAlarm.setLongitude(Double.parseDouble(getText(rootElement, "Longitude"))); String longitude = getText(rootElement, "Longitude"); if (longitude != null && NumericUtil.isDouble(longitude)) { deviceAlarm.setLongitude(Double.parseDouble(longitude)); } else { deviceAlarm.setLongitude(0.00); } if (NumericUtil.isDouble(getText(rootElement, "Latitude"))) { deviceAlarm.setLatitude(Double.parseDouble(getText(rootElement, "Latitude"))); String latitude = getText(rootElement, "Latitude"); if (latitude != null && NumericUtil.isDouble(latitude)) { deviceAlarm.setLatitude(Double.parseDouble(latitude)); } else { deviceAlarm.setLatitude(0.00); } if (!StringUtils.isEmpty(deviceAlarm.getAlarmMethod())) { if (deviceAlarm.getAlarmMethod().equals("5")) { if (deviceAlarm.getAlarmMethod().contains(DeviceAlarmMethod.Video.getVal() + "")) { deviceAlarm.setAlarmType(getText(rootElement.element("Info"), "AlarmType")); } }