|
@@ -87,6 +87,12 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
put("江阴大桥", "江阴海事局");
|
|
put("江阴大桥", "江阴海事局");
|
|
put("苏通大桥", "常熟海事局");
|
|
put("苏通大桥", "常熟海事局");
|
|
}};
|
|
}};
|
|
|
|
+ public final static Map<String, String> heiyanDeviceMap = new HashMap<String, String>() {{
|
|
|
|
+ put("南京三桥", "65");
|
|
|
|
+ put("润扬大桥", "66");
|
|
|
|
+ put("江阴大桥", "67");
|
|
|
|
+ put("苏通大桥", "68");
|
|
|
|
+ }};
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Scheduled(fixedDelay = 100) //每隔100秒执行
|
|
@Scheduled(fixedDelay = 100) //每隔100秒执行
|
|
@@ -249,6 +255,7 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
}
|
|
}
|
|
if (ObjectUtil.isNotEmpty(afterDataMap.get("snapPos"))) {
|
|
if (ObjectUtil.isNotEmpty(afterDataMap.get("snapPos"))) {
|
|
afterDataMap.put("orgName", orgMap.get(Convert.toStr(afterDataMap.get("snapPos"))));
|
|
afterDataMap.put("orgName", orgMap.get(Convert.toStr(afterDataMap.get("snapPos"))));
|
|
|
|
+ afterDataMap.put("deviceId", heiyanDeviceMap.get(Convert.toStr(afterDataMap.get("snapPos"))));
|
|
}
|
|
}
|
|
afterDataMap.put("createTime", afterDataMap.get("snapTimeFmt"));
|
|
afterDataMap.put("createTime", afterDataMap.get("snapTimeFmt"));
|
|
afterDataMap.put("monitorPointName", afterDataMap.get("snapPos"));
|
|
afterDataMap.put("monitorPointName", afterDataMap.get("snapPos"));
|
|
@@ -259,7 +266,8 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
// 删除设备和类型的统计缓存
|
|
// 删除设备和类型的统计缓存
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ship") && StrUtil.equalsIgnoreCase(table, "monitor_point")) {
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ship") && StrUtil.equalsIgnoreCase(table, "monitor_point")) {
|
|
// 检测点信息
|
|
// 检测点信息
|
|
client.createDocument(ElasticConstants.SO2_MONITOR_POINT, Convert.toStr(afterDataMap.get("id")), afterDataMap);
|
|
client.createDocument(ElasticConstants.SO2_MONITOR_POINT, Convert.toStr(afterDataMap.get("id")), afterDataMap);
|
|
@@ -268,7 +276,8 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
// 设备信息
|
|
// 设备信息
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ship") && StrUtil.equalsIgnoreCase(table, "alert")) {
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ship") && StrUtil.equalsIgnoreCase(table, "alert")) {
|
|
// 船舶记录
|
|
// 船舶记录
|
|
if ("prod".equals(env)) {
|
|
if ("prod".equals(env)) {
|
|
@@ -318,7 +327,8 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
client.createDocument(ElasticConstants.AIS_SEM_INSTRUMENT, Convert.toStr(afterDataMap.get("id")), afterDataMap);
|
|
client.createDocument(ElasticConstants.AIS_SEM_INSTRUMENT, Convert.toStr(afterDataMap.get("id")), afterDataMap);
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ais_database") && StrUtil.equalsIgnoreCase(table, "illegal_ship")) {
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ais_database") && StrUtil.equalsIgnoreCase(table, "illegal_ship")) {
|
|
// 嗅探系统-违规船舶
|
|
// 嗅探系统-违规船舶
|
|
if ("prod".equals(env)) {
|
|
if ("prod".equals(env)) {
|
|
@@ -343,6 +353,7 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
afterDataMap.put("berthName", eepReportRecInfo.getBerthName());
|
|
afterDataMap.put("berthName", eepReportRecInfo.getBerthName());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ afterDataMap.put("deviceId", afterDataMap.get("semId"));
|
|
// 查询站点信息
|
|
// 查询站点信息
|
|
Map<String, Object> sem = client.getDocById(ElasticConstants.AIS_SEM_INSTRUMENT, Convert.toStr(afterDataMap.get("semId")), "name,category");
|
|
Map<String, Object> sem = client.getDocById(ElasticConstants.AIS_SEM_INSTRUMENT, Convert.toStr(afterDataMap.get("semId")), "name,category");
|
|
if (sem != null && ObjectUtil.equal(sem.get("code"), 200)) {
|
|
if (sem != null && ObjectUtil.equal(sem.get("code"), 200)) {
|
|
@@ -374,7 +385,8 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
if (StrUtil.equalsIgnoreCase(database, "smoke_api") && StrUtil.equalsIgnoreCase(table, "ship_snap_address")) {
|
|
if (StrUtil.equalsIgnoreCase(database, "smoke_api") && StrUtil.equalsIgnoreCase(table, "ship_snap_address")) {
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ship") && StrUtil.equalsIgnoreCase(table, "monitor_point")) {
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ship") && StrUtil.equalsIgnoreCase(table, "monitor_point")) {
|
|
// 检测点信息
|
|
// 检测点信息
|
|
client.updateDocument(ElasticConstants.SO2_MONITOR_POINT, Convert.toStr(afterDataMap.get("id")), afterDataMap);
|
|
client.updateDocument(ElasticConstants.SO2_MONITOR_POINT, Convert.toStr(afterDataMap.get("id")), afterDataMap);
|
|
@@ -383,20 +395,23 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
// 设备信息
|
|
// 设备信息
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ais_database") && (StrUtil.equalsIgnoreCase(table, "sem_instrument"))) {
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ais_database") && (StrUtil.equalsIgnoreCase(table, "sem_instrument"))) {
|
|
// 嗅探系统-站点信息
|
|
// 嗅探系统-站点信息
|
|
client.updateDocument(ElasticConstants.AIS_SEM_INSTRUMENT, Convert.toStr(afterDataMap.get("id")), afterDataMap);
|
|
client.updateDocument(ElasticConstants.AIS_SEM_INSTRUMENT, Convert.toStr(afterDataMap.get("id")), afterDataMap);
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
case DELETE:
|
|
case DELETE:
|
|
if (StrUtil.equalsIgnoreCase(database, "smoke_api") && StrUtil.equalsIgnoreCase(table, "ship_snap_address")) {
|
|
if (StrUtil.equalsIgnoreCase(database, "smoke_api") && StrUtil.equalsIgnoreCase(table, "ship_snap_address")) {
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ship") && StrUtil.equalsIgnoreCase(table, "monitor_point")) {
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ship") && StrUtil.equalsIgnoreCase(table, "monitor_point")) {
|
|
// 检测点信息
|
|
// 检测点信息
|
|
client.deleteDocument(ElasticConstants.SO2_MONITOR_POINT, Convert.toStr(afterDataMap.get("id")));
|
|
client.deleteDocument(ElasticConstants.SO2_MONITOR_POINT, Convert.toStr(afterDataMap.get("id")));
|
|
@@ -405,13 +420,15 @@ public class CanalScheduling implements Runnable, ApplicationContextAware {
|
|
// 设备信息
|
|
// 设备信息
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ais_database") && (StrUtil.equalsIgnoreCase(table, "sem_instrument"))) {
|
|
} else if (StrUtil.equalsIgnoreCase(database, "ais_database") && (StrUtil.equalsIgnoreCase(table, "sem_instrument"))) {
|
|
// 嗅探系统-站点信息
|
|
// 嗅探系统-站点信息
|
|
client.deleteDocument(ElasticConstants.AIS_SEM_INSTRUMENT, Convert.toStr(afterDataMap.get("id")));
|
|
client.deleteDocument(ElasticConstants.AIS_SEM_INSTRUMENT, Convert.toStr(afterDataMap.get("id")));
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
redisCache.deleteObject(CollUtil.set(false,
|
|
CacheConstants.DEVICE_STATIC,
|
|
CacheConstants.DEVICE_STATIC,
|
|
- CacheConstants.DEVICE_TYPE_STATIC));
|
|
|
|
|
|
+ CacheConstants.DEVICE_TYPE_STATIC,
|
|
|
|
+ CacheConstants.DEVICE_LIST_STATIC));
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|