test: 可以使用责任树进行测试

dev.data.processing
面包骑士 2024-10-02 10:36:16 +08:00
parent eb37fb5072
commit 469eedacb5
25 changed files with 208 additions and 148 deletions

View File

@ -19,6 +19,8 @@ import java.util.List;
public enum CacheNameEnums {
FAULT("fault", "故障"),
FENCE("fence", "围栏"),
STORAGE("storage", "持久化"),
REALTIME("realTime", "实时信息"),
WARMING("warming", "预警");
private final String code;

View File

@ -1,9 +1,6 @@
package com.muyu.data.processing.domain;
import com.muyu.common.core.enums.ClassType;
import lombok.*;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable;
@ -22,7 +19,7 @@ import java.io.Serializable;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class KafkaData implements Serializable {
public class BasicData implements Serializable {
private String key;
private String label;

View File

@ -1,22 +0,0 @@
package com.muyu.data.processing.domain;
import lombok.*;
/**
* 1
*
* @Author:
* @Name: Temporary1
* @Description: 1
* @CreatedDate: 2024/9/30 7:26
* @FilePath: com.muyu.data.processing.domain
*/
@Data
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Temporary1 {
private String test;
}

View File

@ -5,8 +5,9 @@ import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
import com.muyu.common.kafka.constants.KafkaConstants;
import com.muyu.data.processing.domain.KafkaData;
import com.muyu.data.processing.domain.BasicData;
import com.muyu.data.processing.service.DataProcessingService;
import com.muyu.data.processing.strategy.core.StartStrategy;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.ConsumerRecord;
@ -17,6 +18,7 @@ import org.springframework.stereotype.Component;
import java.time.Duration;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
/**
@ -34,7 +36,7 @@ public class KafkaConsumerService implements InitializingBean {
@Resource
private KafkaConsumer kafkaConsumer;
@Resource
private DataProcessingService service;
private StartStrategy startStrategy;
@Override
public void afterPropertiesSet() throws Exception {
@ -51,12 +53,19 @@ public class KafkaConsumerService implements InitializingBean {
String originalMsg = (String) consumerRecord.value();
log.info("从Kafka中消费的原始数据: " + originalMsg);
//2.把消费数据转换为DTO对象
List<KafkaData> dataList = JSONUtil.toList(originalMsg, KafkaData.class);
List<BasicData> dataList = JSONUtil.toList(originalMsg, BasicData.class);
log.info("从Kafka中消费的实体数据: " + dataList);
service.strategyCheck(dataList);
// 执行策略
startStrategy.applyStrategy(getDataMap(dataList));
}
}
});
thread.start();
}
private HashMap<String, BasicData> getDataMap(List<BasicData> dataList) {
HashMap<String, BasicData> basicDataHashMap = new HashMap<>();
dataList.forEach(data -> basicDataHashMap.put(data.getKey(), data));
return basicDataHashMap;
}
}

View File

@ -1,7 +1,7 @@
package com.muyu.data.processing.mapper;
import com.muyu.data.processing.domain.IotDbData;
import com.muyu.data.processing.domain.KafkaData;
import com.muyu.data.processing.domain.BasicData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -26,7 +26,7 @@ public interface DataProcessingMapper{
Integer insIotDbData(@Param("key") String key, @Param("value") String value);
void strategyCheck(@Param("dataList") List<KafkaData> dataList);
void strategyCheck(@Param("dataList") List<BasicData> dataList);
Integer insIotDbDataVo(IotDbData build);
}

View File

@ -1,8 +1,7 @@
package com.muyu.data.processing.service;
import com.muyu.data.processing.domain.IotDbData;
import com.muyu.data.processing.domain.KafkaData;
import com.muyu.data.processing.domain.BasicData;
import java.util.List;
@ -25,7 +24,7 @@ public interface DataProcessingService{
*/
List<String> selectStorageGroup();
void strategyCheck(List<KafkaData> dataList);
void strategyCheck(List<BasicData> dataList);
Integer insIotDbData(String key, String value);
}

View File

@ -4,7 +4,7 @@ package com.muyu.data.processing.service.impl;
import javax.annotation.Resource;
import com.muyu.data.processing.domain.IotDbData;
import com.muyu.data.processing.domain.KafkaData;
import com.muyu.data.processing.domain.BasicData;
import com.muyu.data.processing.strategy.core.StartStrategy;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
@ -39,8 +39,8 @@ public class DataProcessingServiceImpl implements DataProcessingService {
}
@Override
public void strategyCheck(List<KafkaData> dataList) {
HashMap<String, KafkaData> kafkaDataHashMap = new HashMap<>();
public void strategyCheck(List<BasicData> dataList) {
HashMap<String, BasicData> kafkaDataHashMap = new HashMap<>();
dataList.forEach(data -> kafkaDataHashMap.put(data.getKey(), data));
// Result<String[]> result = rootStrategy.applyStrategy(kafkaDataHashMap);
// String[] data = result.getData();

View File

@ -1,6 +1,7 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
import com.muyu.data.processing.domain.BasicData;
import java.util.HashMap;
import com.muyu.data.processing.domain.Temporary2;
import com.muyu.data.processing.strategy.StrategyHandler;
import com.muyu.data.processing.strategy.abstractStrategyRouter;
@ -20,15 +21,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class DataProcessStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class DataStorageProcessStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new DataStorageStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("持久化数据处理节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -21,15 +23,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class FaultJudgmentStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class FaultJudgmentStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new FaultAlarmStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("故障判断节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -20,15 +22,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class FaultProcessingStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class FaultProcessingStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new FaultJudgmentStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("故障数据处理节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -21,15 +23,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class FenceJudgmentStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class FenceJudgmentStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new FenceAlarmStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("围栏数据判断节点通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -19,15 +21,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class FenceProcessingStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class FenceProcessingStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new FenceJudgmentStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("围栏数据处理节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -21,15 +23,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class RealTimeJudgmentStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class RealTimeJudgmentStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new RealTimeAlarmStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("实时数据判断节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -19,15 +21,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class RealTimeProcessingStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class RealTimeProcessingStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new RealTimeJudgmentStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("实时数据处理节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -21,15 +23,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class WarningJudgmentStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class WarningJudgmentStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new WarningAlarmStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("预警数据判断节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.branch;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -19,15 +21,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class WarningProcessingStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class WarningProcessingStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param-> new WarningJudgmentStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("预警数据处理节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,9 @@
package com.muyu.data.processing.strategy.core;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -19,15 +22,20 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class BasicStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class BasicStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param -> new RoutingStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("开始执行基础校验节点。。。");
basicDataMap.put(CacheNameEnums.WARMING.getCode(), BasicData.builder().key("test").build());
basicDataMap.put(CacheNameEnums.FAULT.getCode(), BasicData.builder().key("test").build());
basicDataMap.put(CacheNameEnums.REALTIME.getCode(), BasicData.builder().key("test").build());
log.info("基础校验节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.core;
import com.muyu.data.processing.domain.Temporary1;
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 lombok.extern.slf4j.Slf4j;
@ -18,9 +20,10 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class EndStrategy implements StrategyHandler<Temporary1, Temporary2> {
public class EndStrategy implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
public Temporary2 apply(Temporary1 temporary1) {
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("结束节点已通过。。。");
return null;
}
}

View File

@ -1,9 +1,12 @@
package com.muyu.data.processing.strategy.core;
import com.muyu.data.processing.domain.Temporary1;
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.branch.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@ -19,21 +22,37 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class RoutingStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
return new StrategyMapper<Temporary1, Temporary2>() {
@Override
public StrategyHandler<Temporary1, Temporary2> getHandler(Temporary1 param) {
// 编写路由规则
return null;
}
};
public class RoutingStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
private final static HashMap<String, StrategyHandler<HashMap<String, BasicData>, Temporary2>> map = new HashMap<>();
static{
map.put(CacheNameEnums.WARMING.getCode(), new WarningProcessingStrategy());
map.put(CacheNameEnums.REALTIME.getCode(), new RealTimeProcessingStrategy());
map.put(CacheNameEnums.FENCE.getCode(), new FenceProcessingStrategy());
map.put(CacheNameEnums.FAULT.getCode(), new FaultProcessingStrategy());
map.put(CacheNameEnums.STORAGE.getCode(), new DataStorageProcessStrategy());
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param -> {
// 编写路由规则
List<String> codes = CacheNameEnums.getCodes();
for (String code : codes) {
if(param.containsKey(code)){
return map.get(code);
}
}
// 默认返回结束节点
return new EndStrategy();
};
};
@Override
public Temporary2 apply(HashMap<String, BasicData> stringListHashMap) {
log.info("路由节点已通过。。。");
return applyStrategy(stringListHashMap);
}
}

View File

@ -1,10 +1,14 @@
package com.muyu.data.processing.strategy.core;
import com.muyu.data.processing.domain.Temporary1;
import com.muyu.data.processing.domain.Temporary2;
import com.muyu.data.processing.strategy.abstractStrategyRouter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import com.muyu.data.processing.domain.BasicData;
import java.util.HashMap;
import java.util.List;
/**
*
@ -34,9 +38,9 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class StartStrategy extends abstractStrategyRouter<Temporary1, Temporary2> {
public class StartStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param -> new BasicStrategy();
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.leaves;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -20,15 +22,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class DataStorageStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class DataStorageStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param -> new RoutingStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("数据持久化节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.leaves;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -20,15 +22,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class FaultAlarmStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class FaultAlarmStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param -> new RoutingStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("故障报警节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.leaves;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -20,15 +22,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class FenceAlarmStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class FenceAlarmStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param -> new RoutingStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("围栏报警节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.leaves;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -20,15 +22,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class RealTimeAlarmStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class RealTimeAlarmStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param -> new RoutingStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("实时数据处理节点已通过。。。");
return applyStrategy(basicDataMap);
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.data.processing.strategy.leaves;
import com.muyu.data.processing.domain.Temporary1;
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;
@ -20,15 +22,16 @@ import org.springframework.stereotype.Component;
@Slf4j
@Component
public class WarningAlarmStrategy extends abstractStrategyRouter<Temporary1, Temporary2>
implements StrategyHandler<Temporary1, Temporary2> {
public class WarningAlarmStrategy extends abstractStrategyRouter<HashMap<String, BasicData>, Temporary2>
implements StrategyHandler<HashMap<String, BasicData>, Temporary2> {
@Override
protected StrategyMapper<Temporary1, Temporary2> registerStrategy() {
protected StrategyMapper<HashMap<String, BasicData>, Temporary2> registerStrategy() {
return param -> new RoutingStrategy();
}
@Override
public Temporary2 apply(Temporary1 temporary1) {
return applyStrategy(temporary1);
public Temporary2 apply(HashMap<String, BasicData> basicDataMap) {
log.info("预警报警节点已通过。。。");
return applyStrategy(basicDataMap);
}
}