package com.ycl.factory;
|
|
import com.ycl.calculate.*;
|
import constant.CalculationStrategyConstants;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
public class IndexCalculationFactory {
|
private static final Map<String, CalculationStrategy> calculators = new HashMap<>();
|
|
static {
|
//车辆点位在线、视图库对接稳定性
|
calculators.put(CalculationStrategyConstants.Car_SiteOnline_ViewStability, new CarSnapshopDataCalculation());
|
//车辆信息准确率
|
calculators.put(CalculationStrategyConstants.Car_InfoAccuracy, new CarInFoAccuracyCalculation());
|
//车辆抓拍数据上传延迟
|
calculators.put(CalculationStrategyConstants.Car_SnapshotDelay, new CarSnapshotDelayCalculation());
|
//车辆数据抓拍完整性
|
calculators.put(CalculationStrategyConstants.Car_DataIntegrity, new CarDataIntegrityCalculation());
|
//车辆数据抓拍准确性、url、大图可用
|
calculators.put(CalculationStrategyConstants.Car_DataAccuracy_Url_PicUsability, new CarDeviceSampleCalculation());
|
//车辆时钟准确性
|
calculators.put(CalculationStrategyConstants.Car_ClockAccuracy, new CarClockAccuracyCalculation());
|
//TODO:车辆目录一致
|
|
//人脸点位在线、视图库对接稳定
|
calculators.put(CalculationStrategyConstants.Face_SiteOnline_ViewStability, new FaceSnapshotDataCalculation());
|
//人脸信息准确率
|
calculators.put(CalculationStrategyConstants.Face_InfoAccuracy, new FaceInFoAccuracyCalculation());
|
//人脸抓拍数据延迟
|
calculators.put(CalculationStrategyConstants.Face_SnapshotDelay, new FaceSnapshotDelayCalculation());
|
//人脸图片合格、大图可用
|
calculators.put(CalculationStrategyConstants.Face_DataAccuracy_PicUsability, new FaceDeviceSampleCalculation());
|
//人脸时钟准确性
|
calculators.put(CalculationStrategyConstants.Face_ClockAccuracy, new FaceClockAccuracyCalculation());
|
//TODO:人脸目录一致
|
|
//视频点位在线率
|
calculators.put(CalculationStrategyConstants.Video_SiteOnline, new VideoOnlineCalculation());
|
|
}
|
|
public static CalculationStrategy getCalculator(String indexName) {
|
return calculators.get(indexName);
|
}
|
}
|