原创

StringBoot-接口多实现-Java中一个类实现多个接口

//https://blog.csdn.net/u014365523/article/details/128233200
//https://blog.csdn.net/royal1235/article/details/125954904

--------------------------------------------------------------------------------

public interface IntergralEventHanldeService {

//指标识别码
List<String> applyToIndicatorIDCodeList();

boolean doHanldeIntegralEvent(String month, String day, String 指标识别码, String 积分行为, String 积分指标名称, String 积分指标类别, String 积分规则描述, Double 加减分值, Double 触发阈值, List<Map<String, Object>> integralEventSaveList, String time);
}

--------------------------------------------------------------------------------
@Override
public List<String> applyToIndicatorIDCodeList() {
return Lists.newArrayList(SystemConstants.INTEGRAL_CODE_未按时完成巡检任务);
}

@Override
public boolean doHanldeIntegralEvent(String month, String day, String 指标识别码, String 积分行为, String 积分指标名称, String 积分指标类别, String 积分规则描述, Double 加减分值, Double 触发阈值, List<Map<String, Object>> integralEventSaveList, String time) {
//TODO 各自实现
return boolean ;

}

--------------------------------------------------------------------------------

@Autowired
@Qualifier("IntegralEventHandler4未按时完成巡检任务")
//接口实现类加上注解后就可以@Service("IntegralEventHandler4未按时完成巡检任务")
private IntergralEventHanldeService IntegralEventHandler4未按时完成巡检任务;

@Autowired
//接口实现类加上注解后就可以 @Service("IntegralEventHandler4巡检时间过短")
@Qualifier("IntegralEventHandler4巡检时间过短")
private IntergralEventHanldeService IntegralEventHandler4巡检时间过短;
--------------------------------------------------------------------------------
@Autowired
private List<IntergralEventHanldeService> eventHanlderList;

/**
* @param indicatorIDcode 指标识别码
* @return
*/
private IntergralEventHanldeService getRealIntergralEventHanlder(String indicatorIDcode) {
Preconditions.checkArgument(StringUtils.isNotBlank(indicatorIDcode), "指标识别码不能为空");
for (IntergralEventHanldeService service : eventHanlderList) {
List<String> codeList = service.applyToIndicatorIDCodeList();
if (CollectionUtils.isNotEmpty(codeList) && codeList.contains(indicatorIDcode)) {
return service;
}
}
throw new BizzException("没有该指标识别码的实现类" + indicatorIDcode);
}
--------------------------------------------------------------------------------

正文到此结束
本文目录