添加崩塌隐患点

This commit is contained in:
wzy-warehouse
2026-06-16 10:19:22 +08:00
parent 3c6b716007
commit f4af9975d6
5 changed files with 27 additions and 4 deletions
@@ -6,6 +6,7 @@ import lombok.Getter;
public enum DisasterTypeEnum { public enum DisasterTypeEnum {
// 具体灾害类型 // 具体灾害类型
LANDSLIDE("landslide", "滑坡"), LANDSLIDE("landslide", "滑坡"),
COLLAPSE("collapse", "崩塌"),
DEBRIS_FLOW("debris_flow", "泥石流"), DEBRIS_FLOW("debris_flow", "泥石流"),
FLASH_FLOOD("flash_flood", "山洪"), FLASH_FLOOD("flash_flood", "山洪"),
WATER_LOGGING("water_logging", "内涝"); WATER_LOGGING("water_logging", "内涝");
@@ -28,6 +28,9 @@ public class IXianHiddenDangerSpotsServiceImpl implements XianHiddenDangerSpotsS
@Value("${init.data.base-points.hidden-danger.landslide}") @Value("${init.data.base-points.hidden-danger.landslide}")
private String landslideKey; private String landslideKey;
@Value("${init.data.base-points.hidden-danger.collapse}")
private String collapseKey;
@Value("${init.data.base-points.hidden-danger.debris-flow}") @Value("${init.data.base-points.hidden-danger.debris-flow}")
private String debrisFlowKey; private String debrisFlowKey;
@@ -68,6 +71,8 @@ public class IXianHiddenDangerSpotsServiceImpl implements XianHiddenDangerSpotsS
switch (disasterType) { switch (disasterType) {
case "landslide": case "landslide":
return landslideKey; return landslideKey;
case "collapse":
return collapseKey;
case "debris_flow": case "debris_flow":
return debrisFlowKey; return debrisFlowKey;
case "flash_flood": case "flash_flood":
@@ -63,6 +63,9 @@ public class InitializeData {
@Value("${init.data.base-points.hidden-danger.landslide}") @Value("${init.data.base-points.hidden-danger.landslide}")
private String landslideKey; private String landslideKey;
@Value("${init.data.base-points.hidden-danger.collapse}")
private String collapseKey;
@Value("${init.data.base-points.hidden-danger.debris-flow}") @Value("${init.data.base-points.hidden-danger.debris-flow}")
private String debrisFlowKey; private String debrisFlowKey;
@@ -128,6 +131,16 @@ public class InitializeData {
log.info("加载隐患点信息(滑坡)并写入redis完成"); log.info("加载隐患点信息(滑坡)并写入redis完成");
}); });
// 隐患点 - 崩塌
CompletableFuture<Void> collapseFuture = CompletableFuture.runAsync(() -> {
redisTemplate.opsForValue().set(collapseKey, JSON.toJSONString(
XianHiddenDangerSpotsBasePointVo.entity2Vo(
xianHiddenDangerSpotsMapper.getBasePoints("collapse"))
)
);
log.info("加载隐患点信息(崩塌)并写入redis完成");
});
// 隐患点 - 泥石流 // 隐患点 - 泥石流
CompletableFuture<Void> debrisFlowFuture = CompletableFuture.runAsync(() -> { CompletableFuture<Void> debrisFlowFuture = CompletableFuture.runAsync(() -> {
redisTemplate.opsForValue().set(debrisFlowKey, JSON.toJSONString( redisTemplate.opsForValue().set(debrisFlowKey, JSON.toJSONString(
@@ -250,7 +263,7 @@ public class InitializeData {
// 等待所有任务完成 // 等待所有任务完成
CompletableFuture.allOf( CompletableFuture.allOf(
allFuture, landslideFuture, debrisFlowFuture, allFuture, landslideFuture, collapseFuture, debrisFlowFuture,
flashFloodFuture, waterLoggingFuture, flashFloodFuture, waterLoggingFuture,
riskFuture, hospitalsFuture, riskFuture, hospitalsFuture,
dangerousSourceFuture, emergencyShelterFuture, firefighterFuture, storePointsFuture, schoolFuture, dangerousSourceFuture, emergencyShelterFuture, firefighterFuture, storePointsFuture, schoolFuture,
@@ -25,17 +25,20 @@
<result property="isDelete" column="is_delete" /> <result property="isDelete" column="is_delete" />
</resultMap> </resultMap>
<!-- 获取所有基础点:滑坡、泥石流、山洪、内涝 --> <!-- 获取所有基础点:滑坡、崩塌、泥石流、山洪、内涝 -->
<select id="getBasePoints" resultMap="XianHiddenDangerSpotsResultMap"> <select id="getBasePoints" resultMap="XianHiddenDangerSpotsResultMap">
SELECT id, disaster_name, lon, lat, disaster_type FROM xian_hidden_danger_spots SELECT id, disaster_name, lon, lat, disaster_type FROM xian_hidden_danger_spots
<where> <where>
is_delete = 0 is_delete = 0
AND disaster_type IN('滑坡', '泥石流', '山洪', '内涝') AND disaster_type IN('滑坡', '崩塌', '泥石流', '山洪', '内涝')
<if test="disasterType != null and disasterType != ''"> <if test="disasterType != null and disasterType != ''">
<choose> <choose>
<when test="disasterType == 'landslide'"> <when test="disasterType == 'landslide'">
AND disaster_type = '滑坡' AND disaster_type = '滑坡'
</when> </when>
<when test="disasterType == 'collapse'">
AND disaster_type = '崩塌'
</when>
<when test="disasterType == 'debris_flow'"> <when test="disasterType == 'debris_flow'">
AND disaster_type = '泥石流' AND disaster_type = '泥石流'
</when> </when>
@@ -22,6 +22,7 @@ init:
hidden-danger: hidden-danger:
all: 'xian:init:data:base-points:hidden-danger:all' all: 'xian:init:data:base-points:hidden-danger:all'
landslide: 'xian:init:data:base-points:hidden-danger:landslide' landslide: 'xian:init:data:base-points:hidden-danger:landslide'
collapse: 'xian:init:data:base-points:hidden-danger:collapse'
debris-flow: 'xian:init:data:base-points:hidden-danger:debris_flow' debris-flow: 'xian:init:data:base-points:hidden-danger:debris_flow'
flash-flood: 'xian:init:data:base-points:hidden-danger:flash_flood' flash-flood: 'xian:init:data:base-points:hidden-danger:flash_flood'
water-logging: 'xian:init:data:base-points:hidden-danger:water_logging' water-logging: 'xian:init:data:base-points:hidden-danger:water_logging'