package com.njcn.event.service.distribution.Impl;

import cn.hutool.core.collection.CollUtil;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.api.PwMonitorClient;
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
import com.njcn.event.mapper.distribution.PwEventDistributionStatisticsMapper;
import com.njcn.event.mapper.distribution.PwRmpEventDetailMapper;
import com.njcn.event.pojo.param.EventMonitorReportParam;
import com.njcn.event.pojo.po.RmpEventDetailPO;
import com.njcn.event.pojo.vo.*;
import com.njcn.event.service.distribution.PwEventMonitorReportService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.ListUtils;
import org.springframework.stereotype.Service;

import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
 * @Title EventMonitorDailyReportServiceImpl
 * @Package com.njcn.event.service.Impl
 * @Author jianghaifei
 * @Date 2022-10-25 09:39
 * @Version V1.0
 */
@Service
@RequiredArgsConstructor
public class PwEventMonitorReportServiceImpl implements PwEventMonitorReportService {

    private final PwMonitorClient pwMonitorClient;

    private final PwRmpEventDetailMapper rmpEventDetailMapper;

    private final DicDataFeignClient dicDataFeignClient;

    private final PwEventDistributionStatisticsMapper eventDistributionStatisticsMapper;

    private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;


    /***
     * 监测点暂态事件发生次数
     * @author jianghaifei
     * @date 2022-10-29 18:05
     * @param eventMonitorReportParam
     * @return java.util.List<com.njcn.event.pojo.vo.EventMonitorReportVO>
     */
    @Override
    public List<EventMonitorReportVO> getMonitorEventCount(EventMonitorReportParam eventMonitorReportParam) {
        List<EventMonitorReportVO> resultList = new ArrayList<>();
        //提取查询参数
        String startTime = eventMonitorReportParam.getStartTime(); //开始时间
        String endTime = eventMonitorReportParam.getEndTime(); //结束时间
        Integer type = eventMonitorReportParam.getType(); //时间类型（日/月）

        //查询监测点信息
//        List<PwPmsMonitorDTO> monitorList = this.getMonitorList(eventMonitorReportParam);
        PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
        pwPmsMonitorParam.setOrgId(eventMonitorReportParam.getId());
        List<String> monitorIdList = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();

        //获取电压等级的字典
        List<DictData> voltageLevelList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
        //将电压信息转成map，key：id  value：name
        Map<String, String> voltageLevelMap = voltageLevelList.stream().collect(Collectors.toMap(DictData::getId, DictData::getName));
        //获取暂态指标的字典
        List<DictData> eventStatisList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
        //将暂态指标信息转成map，key：id  value：实体
        Map<String, DictData> eventStatisMap = eventStatisList.stream().collect(Collectors.toMap(DictData::getId, data -> data));
        //将暂态指标信息转成map，key：code  value：实体
//        Map<String, DictData> eventStatisMapByCode = eventStatisList.stream().collect(Collectors.toMap(DictData::getCode, data -> data));

        //查询暂态事件明细
        List<RmpEventDetailPO> detailList = new ArrayList<>();
        List<List<String>> partition = ListUtils.partition(monitorIdList, 20000);
        for (List<String> list : partition) {
            if (BizParamConstant.STAT_BIZ_MONTH.equals(type + "")) { //按月查
                detailList.addAll(rmpEventDetailMapper.getDetailsOfTransientEventsByMonth(list, null, startTime, endTime));
            } else { //按日查
                detailList.addAll( rmpEventDetailMapper.getDetailsOfTransientEvents(list, null, startTime, endTime));
            }
        }
        if (CollUtil.isNotEmpty(detailList)) {
            //todo 获取监测点信息接口
            pwPmsMonitorParam.setMonitorName(eventMonitorReportParam.getMonitorName());
            //台区名称（监测点名称）
            pwPmsMonitorParam.setIds(detailList.stream().map(RmpEventDetailPO::getMeasurementPointId).distinct().collect(Collectors.toList()));
            List<PwPmsMonitorDTO> monitorList = pwMonitorClient.getPwNewMonitorList(pwPmsMonitorParam).getData();

            Map<String, PwPmsMonitorDTO> monitorMap = monitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(kye1,key2)->kye1));

            Map<String, List<RmpEventDetailPO>> groupByMIdDetailMap = detailList.stream().collect(Collectors.groupingBy(RmpEventDetailPO::getMeasurementPointId, Collectors.toList()));

            groupByMIdDetailMap.forEach((key, monitorEventDetailList) -> {
                //封装返回需要返回的信息
                if (monitorMap.containsKey(key)) {
                    PwPmsMonitorDTO pmsMonitorDTO = monitorMap.get(key);
                    EventMonitorReportVO eventMonitorReportVO = new EventMonitorReportVO();
                    eventMonitorReportVO.setDate(startTime); //查询时间
                    //监测点基本信息
                    eventMonitorReportVO.setMonitorId(pmsMonitorDTO.getMonitorId()); //监测点id
                    eventMonitorReportVO.setMonitorName(pmsMonitorDTO.getMonitorName()); //监测点name
                    eventMonitorReportVO.setOrgId(pmsMonitorDTO.getOrgId()); //单位id
                    eventMonitorReportVO.setOrgName(pmsMonitorDTO.getOrgName()); //单位name
                    eventMonitorReportVO.setVoltageLevel(pmsMonitorDTO.getVoltageLevel()); //监测点电压等级
                    eventMonitorReportVO.setVoltageLevelName(voltageLevelMap.get(pmsMonitorDTO.getVoltageLevel())); //监测点电压等级名称
                    //暂升、暂降、短时中断次数
                    Map<String, List<RmpEventDetailPO>> countMap = monitorEventDetailList.stream().collect(Collectors.groupingBy(RmpEventDetailPO::getEventType, Collectors.toList()));
                    countMap.forEach((countKey, value) -> {
                        String code = eventStatisMap.get(countKey).getCode();
                        //电压暂降次数
                        if (DicDataEnum.VOLTAGE_DIP.getCode().equalsIgnoreCase(code)) {
                            eventMonitorReportVO.setVoltageDipCount(CollUtil.isNotEmpty(value) ? value.size() : 0);
                        }
                        //电压暂升次数
                        if (DicDataEnum.VOLTAGE_RISE.getCode().equalsIgnoreCase(code)) {
                            eventMonitorReportVO.setVoltageRiseCount(CollUtil.isNotEmpty(value) ? value.size() : 0);
                        }
                        //短时中断
                        if (DicDataEnum.SHORT_INTERRUPTIONS.getCode().equalsIgnoreCase(code)) {
                            eventMonitorReportVO.setShortInterruptionCount(CollUtil.isNotEmpty(value) ? value.size() : 0);
                        }

                    });
                    //重新校验设置属性值，避免值是null
                    eventMonitorReportVO.setVoltageDipCount(eventMonitorReportVO.getVoltageDipCount() == null ? 0 : eventMonitorReportVO.getVoltageDipCount());
                    eventMonitorReportVO.setVoltageRiseCount(eventMonitorReportVO.getVoltageRiseCount() == null ? 0 : eventMonitorReportVO.getVoltageRiseCount());
                    eventMonitorReportVO.setShortInterruptionCount(eventMonitorReportVO.getShortInterruptionCount() == null ? 0 : eventMonitorReportVO.getShortInterruptionCount());

                    resultList.add(eventMonitorReportVO);
                }
            });
        }
        return resultList;
    }

    /***
     * 暂态指标监测点电压暂降和短时中断分布情况
     * @author jianghaifei
     * @date 2022-10-28 14:56
     * @param eventMonitorReportParam
     * @return com.njcn.event.pojo.vo.EventDipShortDistributionVO
     */
    @Override
    public List<EventDipShortDistributionTableVO> getEventDipShortDistributionByCond(EventMonitorReportParam eventMonitorReportParam) {
        //提取参数

        String startTime = eventMonitorReportParam.getStartTime(); //开始时间
        String endTime = eventMonitorReportParam.getEndTime(); //结束时间
        Integer type = eventMonitorReportParam.getType(); //时间类型（日/月）

        //查询监测点信息
        PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
        pwPmsMonitorParam.setOrgId(eventMonitorReportParam.getId());
        List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
        //获取暂态指标的字典
        List<DictData> eventStatisList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
        //将暂态指标信息转成map，key：code  value：实体
        Map<String, DictData> eventStatisMapByCode = eventStatisList.stream().collect(Collectors.toMap(DictData::getCode, data -> data));

        //短时中断、暂降分布情况
        Map<String, Object> condMap = new HashMap<>();
        condMap.put("monitorIdList", monitorIds);
        condMap.put("startTime", startTime);
        condMap.put("endTime", endTime);
        condMap.put("eventTypeList", Arrays.asList(eventStatisMapByCode.get(DicDataEnum.VOLTAGE_DIP.getCode()).getId(), eventStatisMapByCode.get(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getId()));
        condMap.put("dateType", type);
        EventDipShortDistributionVO eventDipShortDistribution = eventDistributionStatisticsMapper.getEventDipShortDistributionByCond(condMap);

        //设置返回数据
        List<EventDipShortDistributionTableVO> list = new ArrayList<>();
        //特征幅值[80,90]
        EventDipShortDistributionTableVO entity8090 = new EventDipShortDistributionTableVO();
        entity8090.setFeatureAmplitude("[80,90]");
        entity8090.setDuration100(eventDipShortDistribution.getFeatureAmp90with100ms()); //持续时间10ms-100ms
        entity8090.setDuration250(eventDipShortDistribution.getFeatureAmp90with250ms()); //持续时间100ms-250ms
        entity8090.setDuration500(eventDipShortDistribution.getFeatureAmp90with500ms()); //持续时间250ms-500ms
        entity8090.setDuration1000(eventDipShortDistribution.getFeatureAmp90with1000ms()); //持续时间500ms-1000ms
        entity8090.setDuration3000(eventDipShortDistribution.getFeatureAmp90with3000ms()); //持续时间1000ms-3000ms
        entity8090.setDuration10000(eventDipShortDistribution.getFeatureAmp90with10000ms()); //持续时间3000ms-10000ms
        entity8090.setDuration20000(eventDipShortDistribution.getFeatureAmp90with20000ms()); //持续时间10000ms-20000ms
        entity8090.setDuration60000(eventDipShortDistribution.getFeatureAmp90with60000ms()); //持续时间20000ms-60000ms
        list.add(entity8090);

        //特征幅值[70,80)
        EventDipShortDistributionTableVO entity7080 = new EventDipShortDistributionTableVO();
        entity7080.setFeatureAmplitude("[70,80)");
        entity7080.setDuration100(eventDipShortDistribution.getFeatureAmp80with100ms()); //持续时间10ms-100ms
        entity7080.setDuration250(eventDipShortDistribution.getFeatureAmp80with250ms()); //持续时间100ms-250ms
        entity7080.setDuration500(eventDipShortDistribution.getFeatureAmp80with500ms()); //持续时间250ms-500ms
        entity7080.setDuration1000(eventDipShortDistribution.getFeatureAmp80with1000ms()); //持续时间500ms-1000ms
        entity7080.setDuration3000(eventDipShortDistribution.getFeatureAmp80with3000ms()); //持续时间1000ms-3000ms
        entity7080.setDuration10000(eventDipShortDistribution.getFeatureAmp80with10000ms()); //持续时间3000ms-10000ms
        entity7080.setDuration20000(eventDipShortDistribution.getFeatureAmp80with20000ms()); //持续时间10000ms-20000ms
        entity7080.setDuration60000(eventDipShortDistribution.getFeatureAmp80with60000ms()); //持续时间20000ms-60000ms
        list.add(entity7080);

        //特征幅值[60,70)
        EventDipShortDistributionTableVO entity6070 = new EventDipShortDistributionTableVO();
        entity6070.setFeatureAmplitude("[60,70)");
        entity6070.setDuration100(eventDipShortDistribution.getFeatureAmp70with100ms()); //持续时间10ms-100ms
        entity6070.setDuration250(eventDipShortDistribution.getFeatureAmp70with250ms()); //持续时间100ms-250ms
        entity6070.setDuration500(eventDipShortDistribution.getFeatureAmp70with500ms()); //持续时间250ms-500ms
        entity6070.setDuration1000(eventDipShortDistribution.getFeatureAmp70with1000ms()); //持续时间500ms-1000ms
        entity6070.setDuration3000(eventDipShortDistribution.getFeatureAmp70with3000ms()); //持续时间1000ms-3000ms
        entity6070.setDuration10000(eventDipShortDistribution.getFeatureAmp70with10000ms()); //持续时间3000ms-10000ms
        entity6070.setDuration20000(eventDipShortDistribution.getFeatureAmp70with20000ms()); //持续时间10000ms-20000ms
        entity6070.setDuration60000(eventDipShortDistribution.getFeatureAmp70with60000ms()); //持续时间20000ms-60000ms
        list.add(entity6070);

        //特征幅值[50,60)
        EventDipShortDistributionTableVO entity5060 = new EventDipShortDistributionTableVO();
        entity5060.setFeatureAmplitude("[50,60)");
        entity5060.setDuration100(eventDipShortDistribution.getFeatureAmp60with100ms()); //持续时间10ms-100ms
        entity5060.setDuration250(eventDipShortDistribution.getFeatureAmp60with250ms()); //持续时间100ms-250ms
        entity5060.setDuration500(eventDipShortDistribution.getFeatureAmp60with500ms()); //持续时间250ms-500ms
        entity5060.setDuration1000(eventDipShortDistribution.getFeatureAmp60with1000ms()); //持续时间500ms-1000ms
        entity5060.setDuration3000(eventDipShortDistribution.getFeatureAmp60with3000ms()); //持续时间1000ms-3000ms
        entity5060.setDuration10000(eventDipShortDistribution.getFeatureAmp60with10000ms()); //持续时间3000ms-10000ms
        entity5060.setDuration20000(eventDipShortDistribution.getFeatureAmp60with20000ms()); //持续时间10000ms-20000ms
        entity5060.setDuration60000(eventDipShortDistribution.getFeatureAmp60with60000ms()); //持续时间20000ms-60000ms
        list.add(entity5060);

        //特征幅值[40,50)
        EventDipShortDistributionTableVO entity4050 = new EventDipShortDistributionTableVO();
        entity4050.setFeatureAmplitude("[40,50)");
        entity4050.setDuration100(eventDipShortDistribution.getFeatureAmp50with100ms()); //持续时间10ms-100ms
        entity4050.setDuration250(eventDipShortDistribution.getFeatureAmp50with250ms()); //持续时间100ms-250ms
        entity4050.setDuration500(eventDipShortDistribution.getFeatureAmp50with500ms()); //持续时间250ms-500ms
        entity4050.setDuration1000(eventDipShortDistribution.getFeatureAmp50with1000ms()); //持续时间500ms-1000ms
        entity4050.setDuration3000(eventDipShortDistribution.getFeatureAmp50with3000ms()); //持续时间1000ms-3000ms
        entity4050.setDuration10000(eventDipShortDistribution.getFeatureAmp50with10000ms()); //持续时间3000ms-10000ms
        entity4050.setDuration20000(eventDipShortDistribution.getFeatureAmp50with20000ms()); //持续时间10000ms-20000ms
        entity4050.setDuration60000(eventDipShortDistribution.getFeatureAmp50with60000ms()); //持续时间20000ms-60000ms
        list.add(entity4050);

        //特征幅值[30,40)
        EventDipShortDistributionTableVO entity3040 = new EventDipShortDistributionTableVO();
        entity3040.setFeatureAmplitude("[30,40)");
        entity3040.setDuration100(eventDipShortDistribution.getFeatureAmp40with100ms()); //持续时间10ms-100ms
        entity3040.setDuration250(eventDipShortDistribution.getFeatureAmp40with250ms()); //持续时间100ms-250ms
        entity3040.setDuration500(eventDipShortDistribution.getFeatureAmp40with500ms()); //持续时间250ms-500ms
        entity3040.setDuration1000(eventDipShortDistribution.getFeatureAmp40with1000ms()); //持续时间500ms-1000ms
        entity3040.setDuration3000(eventDipShortDistribution.getFeatureAmp40with3000ms()); //持续时间1000ms-3000ms
        entity3040.setDuration10000(eventDipShortDistribution.getFeatureAmp40with10000ms()); //持续时间3000ms-10000ms
        entity3040.setDuration20000(eventDipShortDistribution.getFeatureAmp40with20000ms()); //持续时间10000ms-20000ms
        entity3040.setDuration60000(eventDipShortDistribution.getFeatureAmp40with60000ms()); //持续时间20000ms-60000ms
        list.add(entity3040);

        //特征幅值[20,30)
        EventDipShortDistributionTableVO entity2030 = new EventDipShortDistributionTableVO();
        entity2030.setFeatureAmplitude("[20,30)");
        entity2030.setDuration100(eventDipShortDistribution.getFeatureAmp30with100ms()); //持续时间10ms-100ms
        entity2030.setDuration250(eventDipShortDistribution.getFeatureAmp30with250ms()); //持续时间100ms-250ms
        entity2030.setDuration500(eventDipShortDistribution.getFeatureAmp30with500ms()); //持续时间250ms-500ms
        entity2030.setDuration1000(eventDipShortDistribution.getFeatureAmp30with1000ms()); //持续时间500ms-1000ms
        entity2030.setDuration3000(eventDipShortDistribution.getFeatureAmp30with3000ms()); //持续时间1000ms-3000ms
        entity2030.setDuration10000(eventDipShortDistribution.getFeatureAmp30with10000ms()); //持续时间3000ms-10000ms
        entity2030.setDuration20000(eventDipShortDistribution.getFeatureAmp30with20000ms()); //持续时间10000ms-20000ms
        entity2030.setDuration60000(eventDipShortDistribution.getFeatureAmp30with60000ms()); //持续时间20000ms-60000ms
        list.add(entity2030);

        //特征幅值[10,20)
        EventDipShortDistributionTableVO entity1020 = new EventDipShortDistributionTableVO();
        entity1020.setFeatureAmplitude("[10,20)");
        entity1020.setDuration100(eventDipShortDistribution.getFeatureAmp20with100ms()); //持续时间10ms-100ms
        entity1020.setDuration250(eventDipShortDistribution.getFeatureAmp20with250ms()); //持续时间100ms-250ms
        entity1020.setDuration500(eventDipShortDistribution.getFeatureAmp20with500ms()); //持续时间250ms-500ms
        entity1020.setDuration1000(eventDipShortDistribution.getFeatureAmp20with1000ms()); //持续时间500ms-1000ms
        entity1020.setDuration3000(eventDipShortDistribution.getFeatureAmp20with3000ms()); //持续时间1000ms-3000ms
        entity1020.setDuration10000(eventDipShortDistribution.getFeatureAmp20with10000ms()); //持续时间3000ms-10000ms
        entity1020.setDuration20000(eventDipShortDistribution.getFeatureAmp20with20000ms()); //持续时间10000ms-20000ms
        entity1020.setDuration60000(eventDipShortDistribution.getFeatureAmp20with60000ms()); //持续时间20000ms-60000ms
        list.add(entity1020);

        //特征幅值[0,10)
        EventDipShortDistributionTableVO entity10 = new EventDipShortDistributionTableVO();
        entity10.setFeatureAmplitude("[0,10)");
        entity10.setDuration100(eventDipShortDistribution.getFeatureAmp10with100ms()); //持续时间10ms-100ms
        entity10.setDuration250(eventDipShortDistribution.getFeatureAmp10with250ms()); //持续时间100ms-250ms
        entity10.setDuration500(eventDipShortDistribution.getFeatureAmp10with500ms()); //持续时间250ms-500ms
        entity10.setDuration1000(eventDipShortDistribution.getFeatureAmp10with1000ms()); //持续时间500ms-1000ms
        entity10.setDuration3000(eventDipShortDistribution.getFeatureAmp10with3000ms()); //持续时间1000ms-3000ms
        entity10.setDuration10000(eventDipShortDistribution.getFeatureAmp10with10000ms()); //持续时间3000ms-10000ms
        entity10.setDuration20000(eventDipShortDistribution.getFeatureAmp10with20000ms()); //持续时间10000ms-20000ms
        entity10.setDuration60000(eventDipShortDistribution.getFeatureAmp10with60000ms()); //持续时间20000ms-60000ms
        list.add(entity10);
        return list;
    }

    /***
     * 暂态指标监测点电压暂升分布情况
     * @author jianghaifei
     * @date 2022-10-29 14:08
     * @param eventMonitorReportParam
     * @return com.njcn.event.pojo.vo.EventRiseDistributionVO
     */
    @Override
    public List<EventRiseDistributionTableVO> getEventRiseDistributionByCond(EventMonitorReportParam eventMonitorReportParam) {
        //提取参数
        String startTime = eventMonitorReportParam.getStartTime(); //开始时间
        String endTime = eventMonitorReportParam.getEndTime(); //结束时间
        Integer type = eventMonitorReportParam.getType(); //时间类型（日/月）

        //查询监测点信息
        PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
        pwPmsMonitorParam.setOrgId(eventMonitorReportParam.getId());
        List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
        //获取暂态指标的字典
        List<DictData> eventStatisList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
        //将暂态指标信息转成map，key：code  value：实体
        Map<String, DictData> eventStatisMapByCode = eventStatisList.stream().collect(Collectors.toMap(DictData::getCode, data -> data));
        //暂升分布情况
        Map<String, Object> riseCondMap = new HashMap<>();
        riseCondMap.put("monitorIdList", monitorIds);
        riseCondMap.put("startTime", startTime);
        riseCondMap.put("endTime", endTime);
        riseCondMap.put("eventTypeList", Collections.singletonList(eventStatisMapByCode.get(DicDataEnum.VOLTAGE_RISE.getCode()).getId()));
        riseCondMap.put("dateType", type);
        EventRiseDistributionVO eventRiseDistribution = eventDistributionStatisticsMapper.getEventRiseDistributionByCond(riseCondMap);
        //设置返回数据
        List<EventRiseDistributionTableVO> list = new ArrayList<>();
        //特征幅值U1≥120
        EventRiseDistributionTableVO entity120 = new EventRiseDistributionTableVO();
        entity120.setFeatureAmplitude("≥120");
        entity120.setDuration500(eventRiseDistribution.getFeatureAmp120with500ms()); //持续时间100ms-500ms
        entity120.setDuration5000(eventRiseDistribution.getFeatureAmp120with5000ms()); //持续时间500ms-5000ms
        entity120.setDuration60000(eventRiseDistribution.getFeatureAmp120with60000ms()); //持续时间5000ms-60000ms
        list.add(entity120);

        //特征幅值-120-110
        EventRiseDistributionTableVO entity110 = new EventRiseDistributionTableVO();
        entity110.setFeatureAmplitude("-120,110");
        entity110.setDuration500(eventRiseDistribution.getFeatureAmp110with500ms()); //持续时间100ms-500ms
        entity110.setDuration5000(eventRiseDistribution.getFeatureAmp110with5000ms()); //持续时间500ms-5000ms
        entity110.setDuration60000(eventRiseDistribution.getFeatureAmp110with60000ms()); //持续时间5000ms-60000ms
        list.add(entity110);
        return list;
    }
}
