From ea94079e74182be590b9fff356c97f522d9a7828 Mon Sep 17 00:00:00 2001
From: MercuryZ <zdmisif@126.com>
Date: 星期二, 18 十月 2022 09:26:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ximon-admin/src/main/java/com/sandu/ximon/admin/schedule/LightTimeSynchronizationSchedule.java | 87 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/schedule/LightTimeSynchronizationSchedule.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/schedule/LightTimeSynchronizationSchedule.java
new file mode 100644
index 0000000..bd5a5a4
--- /dev/null
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/schedule/LightTimeSynchronizationSchedule.java
@@ -0,0 +1,87 @@
+package com.sandu.ximon.admin.schedule;
+
+import com.alibaba.fastjson.JSONObject;
+import com.sandu.common.util.SpringContextHolder;
+import com.sandu.ximon.admin.service.LightService;
+import com.sandu.ximon.admin.service.LightTaskPoleRelationService;
+import com.sandu.ximon.dao.domain.Light;
+import com.sandu.ximon.dao.domain.LightTask;
+import com.sandu.ximon.dao.domain.LightTaskPoleRelation;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+/**
+ * 鍗曠伅鍚屾鏃堕棿瀹氭椂
+ */
+
+@Component
+@Slf4j
+@AllArgsConstructor
+@EnableScheduling
+public class LightTimeSynchronizationSchedule {
+ private final LightService lightService;
+ private final LightTaskPoleRelationService lightTaskPoleRelationService;
+
+ //姣忓ぉ02:00 寮�濮嬫墽琛�
+ @Scheduled(cron = "0 0 2 * * ? ")
+ public void UserSubjectRefund() {
+ //鎵�鏈夊崟鐏暟鎹�
+ List<Light> lightList = lightService.list();
+
+ //鍗曠伅浠诲姟
+ List<LightTaskPoleRelation> lightTaskPoleRelationList =
+ lightTaskPoleRelationService.list();
+
+ /**
+ * 鍘婚櫎鏃犳晥鏁版嵁
+ */
+ lightTaskPoleRelationList = lightTaskPoleRelationList.stream().filter(bean -> bean.getDeviceScheduled() != null).collect(Collectors.toList());
+
+ Map<String, LightTask> map = new HashMap<>();
+ for (LightTaskPoleRelation bean : lightTaskPoleRelationList) {
+ LightTask lightTask = JSONObject.parseObject(bean.getDeviceScheduled(), LightTask.class);
+ map.put(bean.getDeviceCode() + bean.getLightAddress(), lightTask);
+ }
+
+ for (Light light : lightList) {
+ //TODO
+ if (!light.getDeviceCode().equals("32313243305007ff8711ffff")) {
+ continue;
+ }
+ if (map.get(light.getDeviceCode() + "0001") != null) {
+ /**
+ * 鍙傛暟1锛氬崟鐏俊鎭�
+ * 鍙傛暟2锛氬崟鐏换鍔�
+ */
+ lightService.timeSynchronization(light, "0001", map.get(light.getDeviceCode() + "0001"));
+ } else {
+ /**
+ * 鍙傛暟1锛氬崟鐏俊鎭�
+ * 鍙傛暟2锛氫换鍔′负null
+ */
+ lightService.timeSynchronization(light, "0001", null);
+ }
+
+ if (map.get(light.getDeviceCode() + "0002") != null) {
+ /**
+ * 鍙傛暟1锛氬崟鐏俊鎭�
+ * 鍙傛暟2锛氬崟鐏换鍔�
+ */
+ lightService.timeSynchronization(light, "0002", map.get(light.getDeviceCode() + "0002"));
+ } else {
+ /**
+ * 鍙傛暟1锛氬崟鐏俊鎭�
+ * 鍙傛暟2锛氫换鍔′负null
+ */
+ lightService.timeSynchronization(light, "0002", null);
+ }
+ }
+ }
+}
--
Gitblit v1.9.3