From d2bf8caa38cc592cf5516bf64da27ad1ec8ea308 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期五, 17 十二月 2021 17:30:28 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ximon-admin/src/main/java/com/sandu/ximon/admin/utils/TaskOrderUtil.java | 77 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/TaskOrderUtil.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/TaskOrderUtil.java
new file mode 100644
index 0000000..8ceed7f
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/utils/TaskOrderUtil.java
@@ -0,0 +1,77 @@
+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();
+ }
+}
--
Gitblit v1.9.3