| | |
| | | package com.iailab.module.shasteel.mq.consumer; |
| | | |
| | | import com.iailab.module.model.api.mcs.McsApi; |
| | | import com.iailab.module.model.api.mcs.dto.ScheduleSuggestRespDTO; |
| | | import com.iailab.module.model.api.mcs.dto.StScheduleSchemeDTO; |
| | | import com.iailab.module.model.api.mdk.MdkApi; |
| | | import com.iailab.module.model.api.mdk.dto.MdkScheduleReqDTO; |
| | | import com.iailab.module.model.api.mdk.dto.MdkScheduleRespDTO; |
| | | import com.iailab.module.model.enums.ScheduleTriggerMethodEnum; |
| | | import com.iailab.module.shasteel.mq.common.constant.CommonConstant; |
| | | import com.iailab.module.shasteel.mq.config.QueuePredictFinishConfig; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.amqp.core.Message; |
| | | import org.springframework.amqp.rabbit.annotation.RabbitListener; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @description: |
| | |
| | | |
| | | @Resource |
| | | private MdkApi mdkApi; |
| | | |
| | | //功率因数调度 code |
| | | private static final List<String> elecScheduleCodes = new ArrayList<String>(){{ |
| | | add("rejuandiaodu"); |
| | | add("leyangdiaodu"); |
| | | add("lengzhadiaodu"); |
| | | add("hailidiaodu"); |
| | | add("dongqudiaodu"); |
| | | }}; |
| | | |
| | | private static final String adviceKey = "advice"; |
| | | |
| | | /** |
| | | * 监听电力预测完成,执行电力调度 |
| | |
| | | MdkScheduleReqDTO mdkScheduleReqDTO = new MdkScheduleReqDTO(); |
| | | mdkScheduleReqDTO.setScheduleCode(stScheduleSchemeDTO.getCode()); |
| | | mdkScheduleReqDTO.setScheduleTime(scheduleTime); |
| | | mdkApi.doSchedule(mdkScheduleReqDTO); |
| | | MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(mdkScheduleReqDTO); |
| | | |
| | | //功率因数调度 保存调度建议 |
| | | if (elecScheduleCodes.contains(stScheduleSchemeDTO.getCode())) { |
| | | Map<String, Object> result = mdkScheduleRespDTO.getResult(); |
| | | if (result.containsKey(adviceKey)) { |
| | | String advice = result.get(adviceKey).toString().trim(); |
| | | if (StringUtils.isNotBlank(advice)) { |
| | | ScheduleSuggestRespDTO suggest = new ScheduleSuggestRespDTO(); |
| | | suggest.setTitle("电力调度建议"); |
| | | suggest.setContent(advice); |
| | | suggest.setSchemeId(stScheduleSchemeDTO.getId()); |
| | | suggest.setScheduleObj(stScheduleSchemeDTO.getScheduleObj()); |
| | | suggest.setScheduleTime(scheduleTime); |
| | | suggest.setSort(0); |
| | | mcsApi.createScheduleSuggest(suggest); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |