package area_graph import ( "eta/eta_api/models/data_manage" "fmt" ) type NullDealStrategy interface { Deal(tmpConfig data_manage.AreaExtraConf, edbDataList []*data_manage.ChartEdbInfoMapping, standardIndexMap map[string]*data_manage.EdbDataList, startDate string, endDate string) (err error) } func CreateStrategy(dealWay int) (NullDealStrategy, error) { switch dealWay { case 1: return &InterpolateStrategy{}, nil case 2: return &FillWithPreviousStrategy{}, nil case 3: return &FillWithNextStrategy{}, nil case 4: return &SetToZeroStrategy{}, nil case 5: return &DeleteDateStrategy{}, nil default: return nil, fmt.Errorf("未知的空值处理类型: %d", dealWay) } }