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 strategies = new ArrayList<>(); + + /** + * 执行校验 + */ + public ResponseData execStrategy(AlarmProcessDTO 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 strategies = new ArrayList<>(); + + /** + * 执行校验 + */ + public ResponseData execStrategy(AlarmProcessDTO 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 + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} 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 strategies = new ArrayList<>(); + + /** + * 执行校验 + */ + public ResponseData execStrategy(AlarmProcessDTO 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 + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java new file mode 100644 index 0000000..0311663 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.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 HwLimitedTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} 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 strategies = new ArrayList<>(); + + /** + * 执行校验 + */ + public ResponseData execStrategy(AlarmProcessDTO 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 + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java new file mode 100644 index 0000000..0311663 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.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 HwLimitedTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.java new file mode 100644 index 0000000..6903de7 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.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 TrajectoryTimeAlarmStrategy + * @Description 车辆轨迹巡查 作业次数巡查 + * @Author lwh + * @Date 2021/3/5 16:37 + * @Version 1.0 + */ +public class TrajectoryTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} 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 strategies = new ArrayList<>(); + + /** + * 执行校验 + */ + public ResponseData execStrategy(AlarmProcessDTO 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 + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java new file mode 100644 index 0000000..0311663 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.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 HwLimitedTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.java new file mode 100644 index 0000000..6903de7 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.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 TrajectoryTimeAlarmStrategy + * @Description 车辆轨迹巡查 作业次数巡查 + * @Author lwh + * @Date 2021/3/5 16:37 + * @Version 1.0 + */ +public class TrajectoryTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java new file mode 100644 index 0000000..7d56b9f --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.alarm.strategy.base; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO; + +/** + * 基础思路:提供基础校验接口 分状态实现校验 + * 路线报警基础报警handler + * @author lwh + */ +public abstract class 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 strategies = new ArrayList<>(); + + /** + * 执行校验 + */ + public ResponseData execStrategy(AlarmProcessDTO 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 + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java new file mode 100644 index 0000000..0311663 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.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 HwLimitedTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.java new file mode 100644 index 0000000..6903de7 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.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 TrajectoryTimeAlarmStrategy + * @Description 车辆轨迹巡查 作业次数巡查 + * @Author lwh + * @Date 2021/3/5 16:37 + * @Version 1.0 + */ +public class TrajectoryTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java new file mode 100644 index 0000000..7d56b9f --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.alarm.strategy.base; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO; + +/** + * 基础思路:提供基础校验接口 分状态实现校验 + * 路线报警基础报警handler + * @author lwh + */ +public abstract class 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 strategies = new ArrayList<>(); + + /** + * 执行校验 + */ + public ResponseData execStrategy(AlarmProcessDTO 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 + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.java new file mode 100644 index 0000000..0311663 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/HwLimitedTimeAlarmStrategy.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 HwLimitedTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.java new file mode 100644 index 0000000..6903de7 --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/TrajectoryTimeAlarmStrategy.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 TrajectoryTimeAlarmStrategy + * @Description 车辆轨迹巡查 作业次数巡查 + * @Author lwh + * @Date 2021/3/5 16:37 + * @Version 1.0 + */ +public class TrajectoryTimeAlarmStrategy extends BaseAlarmStrategy { + /** + * @param data 校验数据 + * @return + */ + @Override + public ResponseData processHandler(AlarmProcessDTO data) { + return null; + } +} diff --git a/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java new file mode 100644 index 0000000..7d56b9f --- /dev/null +++ b/casic-service-car/src/main/java/com/casic/missiles/modular/system/alarm/strategy/base/BaseAlarmStrategy.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.alarm.strategy.base; + +import com.casic.missiles.core.base.response.ResponseData; +import com.casic.missiles.modular.system.alarm.dto.AlarmProcessDTO; + +/** + * 基础思路:提供基础校验接口 分状态实现校验 + * 路线报警基础报警handler + * @author lwh + */ +public abstract class 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 @@ casic-service-person casic-service-toilet casic-service-support - + casic-service-job-monitor org.springframework.boot