feat(): 完成实时数据处理策略并移除冗余代码

dev
面包骑士 2024-10-10 14:57:37 +08:00
parent ace9b38f5a
commit c06a41d9e5
6 changed files with 19 additions and 47 deletions

View File

@ -22,9 +22,6 @@ import java.util.concurrent.TimeUnit;
public class RedisService {
@Resource
@Autowired
public RedisTemplate redisTemplate;
/**

View File

@ -1,5 +1,6 @@
package com.muyu.data.processing.strategy;
import com.muyu.common.redis.service.RedisService;
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> {
RedisService redisService = new RedisService();
@SuppressWarnings("rawtypes")
StrategyHandler DEFAULT = param -> new EndStrategy();

View File

@ -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);
}
}

View File

@ -1,11 +1,13 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.common.caffeine.enums.CacheNameEnums;
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 lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -25,12 +27,14 @@ public class RealTimeProcessingStrategy extends abstractStrategyRouter<HashMap<S
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
log.info("实时数据处理节点已通过。。。");
return param-> new RealTimeJudgmentStrategy();
log.info("实时数据判断节点已通过。。。");
return param-> new RealTimeAlarmStrategy();
}
@Override
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("开始执行实时数据判断节点。。。");
basicDataMap.put("RealTimeProcessingStrategy", null);
return applyStrategy(basicDataMap);
}
}

View File

@ -24,13 +24,13 @@ import java.util.List;
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

View File

@ -32,6 +32,12 @@ public class RealTimeAlarmStrategy extends abstractStrategyRouter<HashMap<String
@Override
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);
}
}