海康ai预警的事件码转int,可能大于int范围,需要截取后面9位

This commit is contained in:
guoshengxiong 2025-10-28 15:25:57 +08:00
parent d450a1f982
commit b23d4de36c

View File

@ -635,7 +635,7 @@ public class HikvisionCall {
ProjectInfoExtVo projectInfoBySn = projectService.getProjectInfoBySn(dev.getProjectSn());
AiAnalyseHardWareAlarmRecord record = new AiAnalyseHardWareAlarmRecord();
record.setCreateTime(createTime);
record.setAlarmType(Integer.valueOf(eventType));
record.setAlarmType(stringToInt(eventType));
record.setHardwareId(deviceId);
record.setHardwareName(dev.getHardwareName());
record.setLocation(srcName);
@ -653,6 +653,32 @@ public class HikvisionCall {
asyncAiAnalyse.sendAiAnalyse(record, Cts.PROJECT_LEVEL_AND_CHILDREN);
}
/**
* 海康ai预警的事件码转int可能大于int范围需要截取后面9位
*
* @param eventType
* @return
*/
private static int stringToInt(String eventType) {
if (eventType == null || eventType.trim().isEmpty()) {
return 0;
}
String trimmedStr = eventType.trim();
try {
return Integer.parseInt(trimmedStr);
} catch (NumberFormatException e) {
// 截取后9位
String last9Digits = trimmedStr.substring(Math.max(0, trimmedStr.length() - 9));
try {
return Integer.parseInt(last9Digits);
} catch (NumberFormatException ex) {
return 0;
}
}
}
/***
* 异步添加车辆通行数据
* @param dataJo