//package com.zd.common.core.echarts;
//
//import cn.hutool.core.collection.CollUtil;
//import com.zd.common.core.echarts.enums.AxisType;
//
//import java.util.ArrayList;
//import java.util.LinkedHashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * 柱状图 建造者
// * @Author: zhoupan
// * @Date: 2021/09/13/14:16
// * @Description:
// */
//public class BarBuilder<X,Y> implements Builder<X>{
//
//    List<? extends EchartsData<X>> list ;
//    Option<X,Y,Serie<Y>> option ;
//    EchartConfig echartConfig = new EchartConfig();
//
//    public BarBuilder(){}
//
//    public BarBuilder(List<? extends EchartsData<X>> list) {
//        this.list = list;
//        if(CollUtil.isEmpty( this.list))
//        {
//            return;
//        }
//
//        List<Serie<Y>> series = new ArrayList<>();
//        Map temp = new LinkedHashMap();
//
//    }
//
//    public Option<X,Y,Serie<Y>> build()
//    {
//        return option;
//    }
//
//
//    @Override
//    public EchartConfig getEchartConfig() {
//        return null;
//    }
//
//    @Override
//    public Builder setEchartConfig() {
//        return null;
//    }
//
//    @Override
//    public Builder setTitle() {
//        return null;
//    }
//
//    @Override
//    public Builder setLegend() {
//        List<String> legendData = new ArrayList<>();
//        //循环构造legend ,数据量不大，所以这里就每个方法单独循环了，不做缓存了
//        this.list.forEach(a->{
//            if (a.legendData()!=null&&!legendData.contains(a.legendData()))
//            {
//                legendData.add(a.legendData());
//            }
//        });
//        Legend legend =null;
//        if(legendData.size()>1)
//        {
//            legend = new Legend();
//            legend.setData(legendData);
//        }
//        option.setLegend(legend);
//        return this;
//    }
//
//    @Override
//    public Builder setyAxis() {
//        List<X> data = new ArrayList<>();
//        this.list.forEach(a->{
//            if (a.axisData()!=null&&!data.contains(a.axisData()))
//            {
//                data.add( a.axisData());
//            }
//        });
//        if(CollUtil.isNotEmpty(data))
//        {
//            Axis<X> axis = new Axis();
//            axis.setData(data);
//            axis.setType(AxisType.category);
//            option.setyAxis(axis);
//        }
//        return this;
//    }
//
//    @Override
//    public Builder setxAxis() {
//        Axis<X> axis = new Axis();
//        axis.setType(AxisType.value);
//        option.setyAxis(axis);
//        return this;
//    }
//
//    @Override
//    public Builder setSeries() {
//        return null;
//    }
//
//    @Override
//    public Builder setAxisData() {
//        return null;
//    }
//
//    @Override
//    public Builder setLegendData() {
//        return null;
//    }
//
//
//
//
//
//}
