| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.sandu.ximon.admin.utils; |
| | | |
| | | import cn.hutool.core.util.ArrayUtil; |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.sandu.ximon.admin.constant.Constants; |
| | | import com.sandu.ximon.admin.dto.SingleLightOrderDto; |
| | | import com.sandu.ximon.dao.enums.WeekEnums; |
| | | import org.quartz.DateBuilder; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author chenjiantian |
| | | * @date 2021/12/15 18:06 |
| | | * ä»»å¡å½ä»¤å·¥å
·ç±» |
| | | */ |
| | | public class TaskOrderUtil { |
| | | |
| | | public static SingleLightOrderDto parseLightOrder(String lightOrder) { |
| | | if (StrUtil.length(lightOrder) != 7) { |
| | | return null; |
| | | } |
| | | SingleLightOrderDto singleLightOrderDto = new SingleLightOrderDto(); |
| | | singleLightOrderDto.setHour(NumberUtil.parseInt(lightOrder.substring(0, 2))); |
| | | singleLightOrderDto.setMinute(NumberUtil.parseInt(lightOrder.substring(2, 4))); |
| | | singleLightOrderDto.setBrightness(NumberUtil.parseInt(lightOrder.substring(4, 7))); |
| | | return singleLightOrderDto; |
| | | } |
| | | |
| | | public static Integer[] parseLightWeek(Integer week) { |
| | | if (week == null) { |
| | | return null; |
| | | } |
| | | List<Integer> list = new ArrayList<>(); |
| | | if((WeekEnums.SUNDAY.getCode() & week) > 0){ |
| | | list.add(DateBuilder.SUNDAY); |
| | | } |
| | | if((WeekEnums.MONDAY.getCode() & week) > 0){ |
| | | list.add(DateBuilder.MONDAY); |
| | | } |
| | | if((WeekEnums.TUESDAY.getCode() & week) > 0){ |
| | | list.add(DateBuilder.TUESDAY); |
| | | } |
| | | if((WeekEnums.WEDNESDAY.getCode() & week) > 0){ |
| | | list.add(DateBuilder.WEDNESDAY); |
| | | } |
| | | if((WeekEnums.THURSDAY.getCode() & week) > 0){ |
| | | list.add(DateBuilder.THURSDAY); |
| | | } |
| | | if((WeekEnums.FRIDAY.getCode() & week) > 0){ |
| | | list.add(DateBuilder.FRIDAY); |
| | | } |
| | | if((WeekEnums.SATURDAY.getCode() & week) > 0){ |
| | | list.add(DateBuilder.SATURDAY); |
| | | } |
| | | return list.toArray(new Integer[0]); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç»å®çæ¶åå¨çæcron |
| | | * @param hour æ¶ |
| | | * @param minute å |
| | | * @param daysOfWeek 1è¡¨ç¤ºçæ¯æææ¥ï¼7è¡¨ç¤ºçææå
|
| | | * @return cron |
| | | */ |
| | | public static String getHourAndMinuteOnGivenDaysOfWeek(int hour, int minute, Integer... daysOfWeek) { |
| | | StringBuilder cronExpression = new StringBuilder(String.format("0 %d %d ? * %d", minute, hour, |
| | | daysOfWeek[0])); |
| | | |
| | | for (int i = 1; i < daysOfWeek.length; i++) { |
| | | cronExpression.append(",").append(daysOfWeek[i]); |
| | | } |
| | | return cronExpression.toString(); |
| | | } |
| | | } |