diff --git a/kafka-manager-extends/kafka-manager-monitor/src/main/java/com/xiaojukeji/kafka/manager/monitor/component/n9e/N9eConverter.java b/kafka-manager-extends/kafka-manager-monitor/src/main/java/com/xiaojukeji/kafka/manager/monitor/component/n9e/N9eConverter.java index c69ae906b88077bc79ad39b81152cd1bbdca3870..c65d9e93961a0fd1329acf19b82368ec2dd91e6c 100644 --- a/kafka-manager-extends/kafka-manager-monitor/src/main/java/com/xiaojukeji/kafka/manager/monitor/component/n9e/N9eConverter.java +++ b/kafka-manager-extends/kafka-manager-monitor/src/main/java/com/xiaojukeji/kafka/manager/monitor/component/n9e/N9eConverter.java @@ -5,6 +5,8 @@ import com.xiaojukeji.kafka.manager.common.utils.ValidateUtils; import com.xiaojukeji.kafka.manager.monitor.common.entry.*; import com.xiaojukeji.kafka.manager.monitor.component.n9e.entry.*; import com.xiaojukeji.kafka.manager.monitor.component.n9e.entry.bizenum.CategoryEnum; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.*; @@ -13,6 +15,8 @@ import java.util.*; * @date 20/8/26 */ public class N9eConverter { + private static final Logger LOGGER = LoggerFactory.getLogger(N9eConverter.class); + public static List convert2N9eMetricSinkPointList(String nid, List pointList) { if (pointList == null || pointList.isEmpty()) { return new ArrayList<>(); @@ -98,8 +102,8 @@ public class N9eConverter { n9eStrategy.setNotify_user(new ArrayList<>()); n9eStrategy.setCallback(strategyAction.getCallback()); - n9eStrategy.setEnable_stime("00:00"); - n9eStrategy.setEnable_etime("23:59"); + n9eStrategy.setEnable_stime(String.format("%02d:00", ListUtils.string2IntList(strategy.getPeriodHoursOfDay()).stream().distinct().min((e1, e2) -> e1.compareTo(e2)).get())); + n9eStrategy.setEnable_etime(String.format("%02d:59", ListUtils.string2IntList(strategy.getPeriodHoursOfDay()).stream().distinct().max((e1, e2) -> e1.compareTo(e2)).get())); n9eStrategy.setEnable_days_of_week(ListUtils.string2IntList(strategy.getPeriodDaysOfWeek())); n9eStrategy.setNeed_upgrade(0); @@ -120,6 +124,15 @@ public class N9eConverter { return strategyList; } + private static Integer getEnableHour(String enableTime) { + try { + return Integer.valueOf(enableTime.split(":")[0]); + } catch (Exception e) { + LOGGER.warn("class=N9eConverter||method=getEnableHour||enableTime={}||errMsg={}", enableTime, e.getMessage()); + } + return null; + } + public static Strategy convert2Strategy(N9eStrategy n9eStrategy, Map notifyGroupMap) { if (n9eStrategy == null) { return null; @@ -137,7 +150,16 @@ public class N9eConverter { strategy.setId(n9eStrategy.getId().longValue()); strategy.setName(n9eStrategy.getName()); strategy.setPriority(n9eStrategy.getPriority()); - strategy.setPeriodHoursOfDay("0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23"); + + List hourList = new ArrayList<>(); + Integer startHour = N9eConverter.getEnableHour(n9eStrategy.getEnable_stime()); + Integer endHour = N9eConverter.getEnableHour(n9eStrategy.getEnable_etime()); + if (!(ValidateUtils.isNullOrLessThanZero(startHour) || ValidateUtils.isNullOrLessThanZero(endHour) || endHour < startHour)) { + for (Integer hour = startHour; hour <= endHour; ++hour) { + hourList.add(hour); + } + } + strategy.setPeriodHoursOfDay(ListUtils.intList2String(hourList)); strategy.setPeriodDaysOfWeek(ListUtils.intList2String(n9eStrategy.getEnable_days_of_week())); List strategyExpressionList = new ArrayList<>();