feat(): 完成实时数据处理策略并移除冗余代码
parent
ace9b38f5a
commit
c06a41d9e5
|
@ -22,9 +22,6 @@ import java.util.concurrent.TimeUnit;
|
||||||
public class RedisService {
|
public class RedisService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
|
|
||||||
@Autowired
|
|
||||||
|
|
||||||
public RedisTemplate redisTemplate;
|
public RedisTemplate redisTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.muyu.data.processing.strategy;
|
package com.muyu.data.processing.strategy;
|
||||||
|
|
||||||
|
import com.muyu.common.redis.service.RedisService;
|
||||||
import com.muyu.data.processing.strategy.core.EndStrategy;
|
import com.muyu.data.processing.strategy.core.EndStrategy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -12,6 +13,8 @@ import com.muyu.data.processing.strategy.core.EndStrategy;
|
||||||
*/
|
*/
|
||||||
public interface StrategyHandler<T,R> {
|
public interface StrategyHandler<T,R> {
|
||||||
|
|
||||||
|
RedisService redisService = new RedisService();
|
||||||
|
|
||||||
@SuppressWarnings("rawtypes")
|
@SuppressWarnings("rawtypes")
|
||||||
StrategyHandler DEFAULT = param -> new EndStrategy();
|
StrategyHandler DEFAULT = param -> new EndStrategy();
|
||||||
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
package com.muyu.data.processing.strategy.branch;
|
|
||||||
|
|
||||||
import com.muyu.data.processing.domain.BasicData;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import com.muyu.data.processing.domain.Temporary2;
|
|
||||||
import com.muyu.data.processing.strategy.StrategyHandler;
|
|
||||||
import com.muyu.data.processing.strategy.abstractStrategyRouter;
|
|
||||||
import com.muyu.data.processing.strategy.leaves.RealTimeAlarmStrategy;
|
|
||||||
import com.muyu.data.processing.strategy.leaves.WarningAlarmStrategy;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 实时数据判断
|
|
||||||
* 判断实时数据情况
|
|
||||||
* @Author: 胡杨
|
|
||||||
* @Name: BasicStrategy
|
|
||||||
* @Description: 责任树 - 实时数据判断
|
|
||||||
* @CreatedDate: 2024/9/30 下午7:24
|
|
||||||
* @FilePath: com.muyu.data.processing.strategy.branch
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@Component
|
|
||||||
public class RealTimeJudgmentStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
|
|
||||||
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
|
|
||||||
@Override
|
|
||||||
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
|
|
||||||
log.info("实时数据判断节点已通过。。。");
|
|
||||||
return param-> new RealTimeAlarmStrategy();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
|
|
||||||
return applyStrategy(basicDataMap);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +1,13 @@
|
||||||
package com.muyu.data.processing.strategy.branch;
|
package com.muyu.data.processing.strategy.branch;
|
||||||
|
|
||||||
|
import com.muyu.common.caffeine.enums.CacheNameEnums;
|
||||||
import com.muyu.data.processing.domain.BasicData;
|
import com.muyu.data.processing.domain.BasicData;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.muyu.data.processing.domain.Temporary2;
|
import com.muyu.data.processing.domain.Temporary2;
|
||||||
import com.muyu.data.processing.strategy.StrategyHandler;
|
import com.muyu.data.processing.strategy.StrategyHandler;
|
||||||
import com.muyu.data.processing.strategy.abstractStrategyRouter;
|
import com.muyu.data.processing.strategy.abstractStrategyRouter;
|
||||||
|
import com.muyu.data.processing.strategy.leaves.RealTimeAlarmStrategy;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@ -25,12 +27,14 @@ public class RealTimeProcessingStrategy extends abstractStrategyRouter<HashMap<S
|
||||||
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
|
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
|
||||||
@Override
|
@Override
|
||||||
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
|
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
|
||||||
log.info("实时数据处理节点已通过。。。");
|
log.info("实时数据判断节点已通过。。。");
|
||||||
return param-> new RealTimeJudgmentStrategy();
|
return param-> new RealTimeAlarmStrategy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
|
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
|
||||||
|
log.info("开始执行实时数据判断节点。。。");
|
||||||
|
basicDataMap.put("RealTimeProcessingStrategy", null);
|
||||||
return applyStrategy(basicDataMap);
|
return applyStrategy(basicDataMap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,9 +26,9 @@ import java.util.List;
|
||||||
* ↙ ↙ ↓ ↘ ↘
|
* ↙ ↙ ↓ ↘ ↘
|
||||||
* 数据处理节点 预警处理节点 故障处理节点 围栏处理节点 实时数据数据处理节点 ↑
|
* 数据处理节点 预警处理节点 故障处理节点 围栏处理节点 实时数据数据处理节点 ↑
|
||||||
* ↓ ↓ ↓ ↓ ↓
|
* ↓ ↓ ↓ ↓ ↓
|
||||||
* 数据持久化处理节点 预警处理节点 故障处理节点 围栏处理节点 实时数据数据处理节点 ↑
|
* 数据持久化处理节点 预警判断节点 故障判断节点 围栏判断节点 实时数据处理节点 ↑
|
||||||
* ↓ ↓ ↓ ↓ ↓
|
* ↓ ↓ ↓ ↓ ↓
|
||||||
* ↓ 预警通知节点 故障通知节点 围栏通知节点 实时数据处理节点 ↑
|
* ↓ 预警通知节点 故障通知节点 围栏通知节点 ↓ ↑
|
||||||
* ↓ ↘ ↓ ↙ ↙
|
* ↓ ↘ ↓ ↙ ↙
|
||||||
* ↓ ↓ ↑
|
* ↓ ↓ ↑
|
||||||
* → → → 路由节点 → → → → → →
|
* → → → 路由节点 → → → → → →
|
||||||
|
|
|
@ -32,6 +32,12 @@ public class RealTimeAlarmStrategy extends abstractStrategyRouter<HashMap<String
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
|
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
|
||||||
|
log.info("开始执行实时数据处理节点。。。");
|
||||||
|
String vin = basicDataMap.get("VIN").getKey();
|
||||||
|
basicDataMap.keySet().forEach(key -> {
|
||||||
|
BasicData basicData = basicDataMap.get(key);
|
||||||
|
redisService.setCacheObject(vin+":"+basicData.getKey(), basicData.getValue());
|
||||||
|
});
|
||||||
return applyStrategy(basicDataMap);
|
return applyStrategy(basicDataMap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue