diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java new file mode 100644 index 0000000..8a23d2c --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.consts; + +/** + * @ClassName StrategyAlarmConst + * @Description 告警常量 + * @Author lwh + * @Date 2021/3/5 16:28 + * @Version 1.0 + */ +public class StrategyAlarmConst { + /** + * 环卫洒水时间限定 + */ + public static final String HW_LIMITED_TIME = "hwLimitedTime"; + /** + * 偏离路线 + */ + public static final String DEVIATE_ROUTE = "deviateRoute"; + /** + * 轨迹巡查 + */ + public static final String TRAJECTORY_TIME = "trajectoryTime"; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java new file mode 100644 index 0000000..8a23d2c --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.consts; + +/** + * @ClassName StrategyAlarmConst + * @Description 告警常量 + * @Author lwh + * @Date 2021/3/5 16:28 + * @Version 1.0 + */ +public class StrategyAlarmConst { + /** + * 环卫洒水时间限定 + */ + public static final String HW_LIMITED_TIME = "hwLimitedTime"; + /** + * 偏离路线 + */ + public static final String DEVIATE_ROUTE = "deviateRoute"; + /** + * 轨迹巡查 + */ + public static final String TRAJECTORY_TIME = "trajectoryTime"; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java new file mode 100644 index 0000000..e3e3777 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.alarm.dto; + +import lombok.Data; + +/** + * @ClassName AlarmProcessDTO + * @Description 业务处理数据 + * @Author lwh + * @Date 2021/3/5 14:26 + * @Version 1.0 + */ +@Data +public class AlarmProcessDTO
{ + + /** + * 定位数据 + */ + private P posData; + /** + * 路线数据 + */ + private R routeData; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java new file mode 100644 index 0000000..8a23d2c --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.consts; + +/** + * @ClassName StrategyAlarmConst + * @Description 告警常量 + * @Author lwh + * @Date 2021/3/5 16:28 + * @Version 1.0 + */ +public class StrategyAlarmConst { + /** + * 环卫洒水时间限定 + */ + public static final String HW_LIMITED_TIME = "hwLimitedTime"; + /** + * 偏离路线 + */ + public static final String DEVIATE_ROUTE = "deviateRoute"; + /** + * 轨迹巡查 + */ + public static final String TRAJECTORY_TIME = "trajectoryTime"; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java new file mode 100644 index 0000000..e3e3777 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.alarm.dto; + +import lombok.Data; + +/** + * @ClassName AlarmProcessDTO + * @Description 业务处理数据 + * @Author lwh + * @Date 2021/3/5 14:26 + * @Version 1.0 + */ +@Data +public class AlarmProcessDTO
{ + + /** + * 定位数据 + */ + private P posData; + /** + * 路线数据 + */ + private R routeData; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java new file mode 100644 index 0000000..1414caa --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java @@ -0,0 +1,11 @@ +package com.casic.missiles.modular.system.alarm.dto; + +/** + * @ClassName PostionDTO + * @Description 定位数据 + * @Author lwh + * @Date 2021/3/5 16:38 + * @Version 1.0 + */ +public class PostionDTO { +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java new file mode 100644 index 0000000..8a23d2c --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.consts; + +/** + * @ClassName StrategyAlarmConst + * @Description 告警常量 + * @Author lwh + * @Date 2021/3/5 16:28 + * @Version 1.0 + */ +public class StrategyAlarmConst { + /** + * 环卫洒水时间限定 + */ + public static final String HW_LIMITED_TIME = "hwLimitedTime"; + /** + * 偏离路线 + */ + public static final String DEVIATE_ROUTE = "deviateRoute"; + /** + * 轨迹巡查 + */ + public static final String TRAJECTORY_TIME = "trajectoryTime"; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java new file mode 100644 index 0000000..e3e3777 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.alarm.dto; + +import lombok.Data; + +/** + * @ClassName AlarmProcessDTO + * @Description 业务处理数据 + * @Author lwh + * @Date 2021/3/5 14:26 + * @Version 1.0 + */ +@Data +public class AlarmProcessDTO
{ + + /** + * 定位数据 + */ + private P posData; + /** + * 路线数据 + */ + private R routeData; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java new file mode 100644 index 0000000..1414caa --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java @@ -0,0 +1,11 @@ +package com.casic.missiles.modular.system.alarm.dto; + +/** + * @ClassName PostionDTO + * @Description 定位数据 + * @Author lwh + * @Date 2021/3/5 16:38 + * @Version 1.0 + */ +public class PostionDTO { +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java new file mode 100644 index 0000000..f4638d8 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java @@ -0,0 +1,11 @@ +package com.casic.missiles.modular.system.alarm.dto; + +/** + * @ClassName RouteInfoDTO + * @Description 车辆信息数据 + * @Author lwh + * @Date 2021/3/5 16:38 + * @Version 1.0 + */ +public class RouteInfoDTO { +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java new file mode 100644 index 0000000..8a23d2c --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.consts; + +/** + * @ClassName StrategyAlarmConst + * @Description 告警常量 + * @Author lwh + * @Date 2021/3/5 16:28 + * @Version 1.0 + */ +public class StrategyAlarmConst { + /** + * 环卫洒水时间限定 + */ + public static final String HW_LIMITED_TIME = "hwLimitedTime"; + /** + * 偏离路线 + */ + public static final String DEVIATE_ROUTE = "deviateRoute"; + /** + * 轨迹巡查 + */ + public static final String TRAJECTORY_TIME = "trajectoryTime"; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java new file mode 100644 index 0000000..e3e3777 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.alarm.dto; + +import lombok.Data; + +/** + * @ClassName AlarmProcessDTO + * @Description 业务处理数据 + * @Author lwh + * @Date 2021/3/5 14:26 + * @Version 1.0 + */ +@Data +public class AlarmProcessDTO
{ + + /** + * 定位数据 + */ + private P posData; + /** + * 路线数据 + */ + private R routeData; +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java new file mode 100644 index 0000000..1414caa --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java @@ -0,0 +1,11 @@ +package com.casic.missiles.modular.system.alarm.dto; + +/** + * @ClassName PostionDTO + * @Description 定位数据 + * @Author lwh + * @Date 2021/3/5 16:38 + * @Version 1.0 + */ +public class PostionDTO { +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java new file mode 100644 index 0000000..f4638d8 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java @@ -0,0 +1,11 @@ +package com.casic.missiles.modular.system.alarm.dto; + +/** + * @ClassName RouteInfoDTO + * @Description 车辆信息数据 + * @Author lwh + * @Date 2021/3/5 16:38 + * @Version 1.0 + */ +public class RouteInfoDTO { +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java new file mode 100644 index 0000000..c5fa1f5 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.alarm.strategy; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.core.util.ToolUtil; +import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO; +import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy; + +import java.util.ArrayList; +import java.util.List; + +/** + * @ClassName AlarmStrategyContext + * @Description 上下文 + * @Author lwh + * @Date 2021/3/5 15:46 + * @Version 1.0 + */ +public class AlarmStrategyContext
{
+
+ private List alarmProcessDTO) {
+ if (ToolUtil.isNotEmpty(strategies)) {
+ for (BaseAlarmStrategy strategy : strategies) {
+ //逐步执行
+ strategy.processHandler(alarmProcessDTO);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 添加规则
+ *
+ * @param strategy
+ */
+ public void addStrategy(BaseAlarmStrategy strategy) {
+ strategies.add(strategy);
+ }
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java
new file mode 100644
index 0000000..8a23d2c
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java
@@ -0,0 +1,23 @@
+package com.casic.missiles.modular.consts;
+
+/**
+ * @ClassName StrategyAlarmConst
+ * @Description 告警常量
+ * @Author lwh
+ * @Date 2021/3/5 16:28
+ * @Version 1.0
+ */
+public class StrategyAlarmConst {
+ /**
+ * 环卫洒水时间限定
+ */
+ public static final String HW_LIMITED_TIME = "hwLimitedTime";
+ /**
+ * 偏离路线
+ */
+ public static final String DEVIATE_ROUTE = "deviateRoute";
+ /**
+ * 轨迹巡查
+ */
+ public static final String TRAJECTORY_TIME = "trajectoryTime";
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java
new file mode 100644
index 0000000..e3e3777
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java
@@ -0,0 +1,23 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+import lombok.Data;
+
+/**
+ * @ClassName AlarmProcessDTO
+ * @Description 业务处理数据
+ * @Author lwh
+ * @Date 2021/3/5 14:26
+ * @Version 1.0
+ */
+@Data
+public class AlarmProcessDTO {
+
+ /**
+ * 定位数据
+ */
+ private P posData;
+ /**
+ * 路线数据
+ */
+ private R routeData;
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
new file mode 100644
index 0000000..1414caa
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName PostionDTO
+ * @Description 定位数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class PostionDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
new file mode 100644
index 0000000..f4638d8
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName RouteInfoDTO
+ * @Description 车辆信息数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class RouteInfoDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
new file mode 100644
index 0000000..c5fa1f5
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
@@ -0,0 +1,43 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName AlarmStrategyContext
+ * @Description 上下文
+ * @Author lwh
+ * @Date 2021/3/5 15:46
+ * @Version 1.0
+ */
+public class AlarmStrategyContext {
+
+ private List alarmProcessDTO) {
+ if (ToolUtil.isNotEmpty(strategies)) {
+ for (BaseAlarmStrategy strategy : strategies) {
+ //逐步执行
+ strategy.processHandler(alarmProcessDTO);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 添加规则
+ *
+ * @param strategy
+ */
+ public void addStrategy(BaseAlarmStrategy strategy) {
+ strategies.add(strategy);
+ }
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
new file mode 100644
index 0000000..5925cd1
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.dto.PostionDTO;
+import com.casic.missiles.modular.system.alarm.dto.RouteInfoDTO;
+
+/**
+ * @ClassName HwLimitedTimeAlarmStrategy
+ * @Description 偏离路线校验
+ * @Author lwh
+ * @Date 2021/3/5 16:37
+ * @Version 1.0
+ */
+public class DeviateRotueAlarmStrategy extends BaseAlarmStrategy {
+
+ /**
+ * 定位数据
+ */
+ private P posData;
+ /**
+ * 路线数据
+ */
+ private R routeData;
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
new file mode 100644
index 0000000..1414caa
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName PostionDTO
+ * @Description 定位数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class PostionDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
new file mode 100644
index 0000000..f4638d8
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName RouteInfoDTO
+ * @Description 车辆信息数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class RouteInfoDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
new file mode 100644
index 0000000..c5fa1f5
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
@@ -0,0 +1,43 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName AlarmStrategyContext
+ * @Description 上下文
+ * @Author lwh
+ * @Date 2021/3/5 15:46
+ * @Version 1.0
+ */
+public class AlarmStrategyContext {
+
+ private List alarmProcessDTO) {
+ if (ToolUtil.isNotEmpty(strategies)) {
+ for (BaseAlarmStrategy strategy : strategies) {
+ //逐步执行
+ strategy.processHandler(alarmProcessDTO);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 添加规则
+ *
+ * @param strategy
+ */
+ public void addStrategy(BaseAlarmStrategy strategy) {
+ strategies.add(strategy);
+ }
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
new file mode 100644
index 0000000..5925cd1
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.dto.PostionDTO;
+import com.casic.missiles.modular.system.alarm.dto.RouteInfoDTO;
+
+/**
+ * @ClassName HwLimitedTimeAlarmStrategy
+ * @Description 偏离路线校验
+ * @Author lwh
+ * @Date 2021/3/5 16:37
+ * @Version 1.0
+ */
+public class DeviateRotueAlarmStrategy extends BaseAlarmStrategy {
+
+ /**
+ * 定位数据
+ */
+ private P posData;
+ /**
+ * 路线数据
+ */
+ private R routeData;
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
new file mode 100644
index 0000000..1414caa
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName PostionDTO
+ * @Description 定位数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class PostionDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
new file mode 100644
index 0000000..f4638d8
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName RouteInfoDTO
+ * @Description 车辆信息数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class RouteInfoDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
new file mode 100644
index 0000000..c5fa1f5
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
@@ -0,0 +1,43 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName AlarmStrategyContext
+ * @Description 上下文
+ * @Author lwh
+ * @Date 2021/3/5 15:46
+ * @Version 1.0
+ */
+public class AlarmStrategyContext {
+
+ private List alarmProcessDTO) {
+ if (ToolUtil.isNotEmpty(strategies)) {
+ for (BaseAlarmStrategy strategy : strategies) {
+ //逐步执行
+ strategy.processHandler(alarmProcessDTO);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 添加规则
+ *
+ * @param strategy
+ */
+ public void addStrategy(BaseAlarmStrategy strategy) {
+ strategies.add(strategy);
+ }
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
new file mode 100644
index 0000000..5925cd1
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.dto.PostionDTO;
+import com.casic.missiles.modular.system.alarm.dto.RouteInfoDTO;
+
+/**
+ * @ClassName HwLimitedTimeAlarmStrategy
+ * @Description 偏离路线校验
+ * @Author lwh
+ * @Date 2021/3/5 16:37
+ * @Version 1.0
+ */
+public class DeviateRotueAlarmStrategy extends BaseAlarmStrategy {
+
+ /**
+ * 定位数据
+ */
+ private P posData;
+ /**
+ * 路线数据
+ */
+ private R routeData;
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
new file mode 100644
index 0000000..1414caa
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName PostionDTO
+ * @Description 定位数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class PostionDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
new file mode 100644
index 0000000..f4638d8
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName RouteInfoDTO
+ * @Description 车辆信息数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class RouteInfoDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
new file mode 100644
index 0000000..c5fa1f5
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
@@ -0,0 +1,43 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName AlarmStrategyContext
+ * @Description 上下文
+ * @Author lwh
+ * @Date 2021/3/5 15:46
+ * @Version 1.0
+ */
+public class AlarmStrategyContext {
+
+ private List alarmProcessDTO) {
+ if (ToolUtil.isNotEmpty(strategies)) {
+ for (BaseAlarmStrategy strategy : strategies) {
+ //逐步执行
+ strategy.processHandler(alarmProcessDTO);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 添加规则
+ *
+ * @param strategy
+ */
+ public void addStrategy(BaseAlarmStrategy strategy) {
+ strategies.add(strategy);
+ }
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
new file mode 100644
index 0000000..5925cd1
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.dto.PostionDTO;
+import com.casic.missiles.modular.system.alarm.dto.RouteInfoDTO;
+
+/**
+ * @ClassName HwLimitedTimeAlarmStrategy
+ * @Description 偏离路线校验
+ * @Author lwh
+ * @Date 2021/3/5 16:37
+ * @Version 1.0
+ */
+public class DeviateRotueAlarmStrategy extends BaseAlarmStrategy {
+
+ /**
+ * 根据告警规则处理告警数据
+ *
+ * @param data 校验数据
+ * @return 处理结果
+ */
+ public abstract ResponseData processHandler(AlarmProcessDTO data);
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java
new file mode 100644
index 0000000..8a23d2c
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java
@@ -0,0 +1,23 @@
+package com.casic.missiles.modular.consts;
+
+/**
+ * @ClassName StrategyAlarmConst
+ * @Description 告警常量
+ * @Author lwh
+ * @Date 2021/3/5 16:28
+ * @Version 1.0
+ */
+public class StrategyAlarmConst {
+ /**
+ * 环卫洒水时间限定
+ */
+ public static final String HW_LIMITED_TIME = "hwLimitedTime";
+ /**
+ * 偏离路线
+ */
+ public static final String DEVIATE_ROUTE = "deviateRoute";
+ /**
+ * 轨迹巡查
+ */
+ public static final String TRAJECTORY_TIME = "trajectoryTime";
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java
new file mode 100644
index 0000000..e3e3777
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java
@@ -0,0 +1,23 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+import lombok.Data;
+
+/**
+ * @ClassName AlarmProcessDTO
+ * @Description 业务处理数据
+ * @Author lwh
+ * @Date 2021/3/5 14:26
+ * @Version 1.0
+ */
+@Data
+public class AlarmProcessDTO {
+
+ /**
+ * 定位数据
+ */
+ private P posData;
+ /**
+ * 路线数据
+ */
+ private R routeData;
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
new file mode 100644
index 0000000..1414caa
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName PostionDTO
+ * @Description 定位数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class PostionDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
new file mode 100644
index 0000000..f4638d8
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName RouteInfoDTO
+ * @Description 车辆信息数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class RouteInfoDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
new file mode 100644
index 0000000..c5fa1f5
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
@@ -0,0 +1,43 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName AlarmStrategyContext
+ * @Description 上下文
+ * @Author lwh
+ * @Date 2021/3/5 15:46
+ * @Version 1.0
+ */
+public class AlarmStrategyContext {
+
+ private List alarmProcessDTO) {
+ if (ToolUtil.isNotEmpty(strategies)) {
+ for (BaseAlarmStrategy strategy : strategies) {
+ //逐步执行
+ strategy.processHandler(alarmProcessDTO);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 添加规则
+ *
+ * @param strategy
+ */
+ public void addStrategy(BaseAlarmStrategy strategy) {
+ strategies.add(strategy);
+ }
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
new file mode 100644
index 0000000..5925cd1
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.dto.PostionDTO;
+import com.casic.missiles.modular.system.alarm.dto.RouteInfoDTO;
+
+/**
+ * @ClassName HwLimitedTimeAlarmStrategy
+ * @Description 偏离路线校验
+ * @Author lwh
+ * @Date 2021/3/5 16:37
+ * @Version 1.0
+ */
+public class DeviateRotueAlarmStrategy extends BaseAlarmStrategy {
+
+ /**
+ * 根据告警规则处理告警数据
+ *
+ * @param data 校验数据
+ * @return 处理结果
+ */
+ public abstract ResponseData processHandler(AlarmProcessDTO data);
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/factory/AlarmStrategyFactory.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/factory/AlarmStrategyFactory.java
new file mode 100644
index 0000000..df3cd76
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/factory/AlarmStrategyFactory.java
@@ -0,0 +1,32 @@
+package com.casic.missiles.modular.system.alarm.strategy.factory;
+
+import com.casic.missiles.modular.consts.StrategyAlarmConst;
+import com.casic.missiles.modular.system.alarm.strategy.DeviateRotueAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.strategy.HwLimitedTimeAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.strategy.TrajectoryTimeAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+
+/**
+ * @ClassName AlarmStrategyFactory
+ * @Description 告警策略工厂类
+ * @Author lwh
+ * @Date 2021/3/5 14:24
+ * @Version 1.0
+ */
+public class AlarmStrategyFactory {
+ public static BaseAlarmStrategy getInstance(String type) {
+ BaseAlarmStrategy baseAlarmStrategy = null;
+ switch (type) {
+ case StrategyAlarmConst.HW_LIMITED_TIME:
+ baseAlarmStrategy = new HwLimitedTimeAlarmStrategy();
+ break;
+ case StrategyAlarmConst.DEVIATE_ROUTE:
+ baseAlarmStrategy = new DeviateRotueAlarmStrategy();
+ break;
+ case StrategyAlarmConst.TRAJECTORY_TIME:
+ baseAlarmStrategy = new TrajectoryTimeAlarmStrategy();
+ break;
+ }
+ return baseAlarmStrategy;
+ }
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java
new file mode 100644
index 0000000..8a23d2c
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/consts/StrategyAlarmConst.java
@@ -0,0 +1,23 @@
+package com.casic.missiles.modular.consts;
+
+/**
+ * @ClassName StrategyAlarmConst
+ * @Description 告警常量
+ * @Author lwh
+ * @Date 2021/3/5 16:28
+ * @Version 1.0
+ */
+public class StrategyAlarmConst {
+ /**
+ * 环卫洒水时间限定
+ */
+ public static final String HW_LIMITED_TIME = "hwLimitedTime";
+ /**
+ * 偏离路线
+ */
+ public static final String DEVIATE_ROUTE = "deviateRoute";
+ /**
+ * 轨迹巡查
+ */
+ public static final String TRAJECTORY_TIME = "trajectoryTime";
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java
new file mode 100644
index 0000000..e3e3777
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/AlarmProcessDTO.java
@@ -0,0 +1,23 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+import lombok.Data;
+
+/**
+ * @ClassName AlarmProcessDTO
+ * @Description 业务处理数据
+ * @Author lwh
+ * @Date 2021/3/5 14:26
+ * @Version 1.0
+ */
+@Data
+public class AlarmProcessDTO {
+
+ /**
+ * 定位数据
+ */
+ private P posData;
+ /**
+ * 路线数据
+ */
+ private R routeData;
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
new file mode 100644
index 0000000..1414caa
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/PostionDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName PostionDTO
+ * @Description 定位数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class PostionDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
new file mode 100644
index 0000000..f4638d8
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/dto/RouteInfoDTO.java
@@ -0,0 +1,11 @@
+package com.casic.missiles.modular.system.alarm.dto;
+
+/**
+ * @ClassName RouteInfoDTO
+ * @Description 车辆信息数据
+ * @Author lwh
+ * @Date 2021/3/5 16:38
+ * @Version 1.0
+ */
+public class RouteInfoDTO {
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
new file mode 100644
index 0000000..c5fa1f5
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/AlarmStrategyContext.java
@@ -0,0 +1,43 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.core.util.ToolUtil;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName AlarmStrategyContext
+ * @Description 上下文
+ * @Author lwh
+ * @Date 2021/3/5 15:46
+ * @Version 1.0
+ */
+public class AlarmStrategyContext {
+
+ private List alarmProcessDTO) {
+ if (ToolUtil.isNotEmpty(strategies)) {
+ for (BaseAlarmStrategy strategy : strategies) {
+ //逐步执行
+ strategy.processHandler(alarmProcessDTO);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 添加规则
+ *
+ * @param strategy
+ */
+ public void addStrategy(BaseAlarmStrategy strategy) {
+ strategies.add(strategy);
+ }
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
new file mode 100644
index 0000000..5925cd1
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/DeviateRotueAlarmStrategy.java
@@ -0,0 +1,25 @@
+package com.casic.missiles.modular.system.alarm.strategy;
+
+import com.casic.missiles.core.base.response.ResponseData;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO;
+import com.casic.missiles.modular.system.alarm.dto.PostionDTO;
+import com.casic.missiles.modular.system.alarm.dto.RouteInfoDTO;
+
+/**
+ * @ClassName HwLimitedTimeAlarmStrategy
+ * @Description 偏离路线校验
+ * @Author lwh
+ * @Date 2021/3/5 16:37
+ * @Version 1.0
+ */
+public class DeviateRotueAlarmStrategy extends BaseAlarmStrategy {
+
+ /**
+ * 根据告警规则处理告警数据
+ *
+ * @param data 校验数据
+ * @return 处理结果
+ */
+ public abstract ResponseData processHandler(AlarmProcessDTO data);
+}
diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/factory/AlarmStrategyFactory.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/factory/AlarmStrategyFactory.java
new file mode 100644
index 0000000..df3cd76
--- /dev/null
+++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/factory/AlarmStrategyFactory.java
@@ -0,0 +1,32 @@
+package com.casic.missiles.modular.system.alarm.strategy.factory;
+
+import com.casic.missiles.modular.consts.StrategyAlarmConst;
+import com.casic.missiles.modular.system.alarm.strategy.DeviateRotueAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.strategy.HwLimitedTimeAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.strategy.TrajectoryTimeAlarmStrategy;
+import com.casic.missiles.modular.system.alarm.strategy.base.BaseAlarmStrategy;
+
+/**
+ * @ClassName AlarmStrategyFactory
+ * @Description 告警策略工厂类
+ * @Author lwh
+ * @Date 2021/3/5 14:24
+ * @Version 1.0
+ */
+public class AlarmStrategyFactory {
+ public static BaseAlarmStrategy getInstance(String type) {
+ BaseAlarmStrategy baseAlarmStrategy = null;
+ switch (type) {
+ case StrategyAlarmConst.HW_LIMITED_TIME:
+ baseAlarmStrategy = new HwLimitedTimeAlarmStrategy();
+ break;
+ case StrategyAlarmConst.DEVIATE_ROUTE:
+ baseAlarmStrategy = new DeviateRotueAlarmStrategy();
+ break;
+ case StrategyAlarmConst.TRAJECTORY_TIME:
+ baseAlarmStrategy = new TrajectoryTimeAlarmStrategy();
+ break;
+ }
+ return baseAlarmStrategy;
+ }
+}
diff --git a/pom.xml b/pom.xml
index cc4fc7f..c668051 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,7 @@