| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |