2021与蓝度共同重构项目,服务端
ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
@@ -16,6 +16,7 @@
import com.sandu.common.util.SpringContextHolder;
import com.sandu.ximon.admin.dto.LightTaskDto;
import com.sandu.ximon.admin.dto.SingleLightOrderDto;
import com.sandu.ximon.admin.manager.iot.frame.A5Frame;
import com.sandu.ximon.admin.manager.iot.frame.FrameBuilder;
import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.request.A5LightTimerReqInnerFrame;
@@ -284,10 +285,12 @@
            //新灯杆下发新任务
            Map<String, List<LightTaskPoleRelation>> newPoleMap = sendControllerFrame(newPoleIdList, newLightTask.getFramePayload(), param.getLightAddress());
            //newPoleAll集合后面用于存储关系表
            newPoleAll = newPoleMap.getOrDefault("all", new ArrayList<>());
            newPoleSuccess = newPoleMap.getOrDefault("success", new ArrayList<>());
            newPoleFail = newPoleMap.getOrDefault("fail", new ArrayList<>());
            if (newPoleMap != null) {
                //newPoleAll集合后面用于存储关系表
                newPoleAll = newPoleMap.getOrDefault("all", new ArrayList<>());
                newPoleSuccess = newPoleMap.getOrDefault("success", new ArrayList<>());
                newPoleFail = newPoleMap.getOrDefault("fail", new ArrayList<>());
            }
        }
        List<LightTaskPoleRelation> oldPoleFail = new ArrayList<>();
@@ -295,8 +298,10 @@
        if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
            //覆盖操作灯杆
            Map<String, List<LightTaskPoleRelation>> oldPoleMap = sendControllerFrame(oldPoleIdList, newLightTask.getFramePayload(), param.getLightAddress());
            oldPoleFail = oldPoleMap.getOrDefault("fail", new ArrayList<>());
            oldPoleSuccess = oldPoleMap.getOrDefault("success", new ArrayList<>());
            if (oldPoleMap != null) {
                oldPoleFail = oldPoleMap.getOrDefault("fail", new ArrayList<>());
                oldPoleSuccess = oldPoleMap.getOrDefault("success", new ArrayList<>());
            }
        }
@@ -308,8 +313,10 @@
            String framePayloadClose = "";
            //关灯操作灯杆
            Map<String, List<LightTaskPoleRelation>> closePoleMap = sendControllerFrame(closeLight, framePayloadClose, param.getLightAddress());
            closePoleFail = closePoleMap.getOrDefault("fail", new ArrayList<>());
            closePoleSuccess = closePoleMap.getOrDefault("success", new ArrayList<>());
            if (closePoleMap != null) {
                closePoleFail = closePoleMap.getOrDefault("fail", new ArrayList<>());
                closePoleSuccess = closePoleMap.getOrDefault("success", new ArrayList<>());
            }
        }
@@ -425,10 +432,25 @@
     * @return 返回帧
     */
    public A5LightTimerRespInnerFrame sendTimeRRpc(String framePayload, String deviceCode, String lightAddress) {
        IRequestFrame requestFrame = FrameBuilder.builderA5().innerFrame(new A5LightTimerReqInnerFrame(framePayload, lightAddress)).orderType(A5OrderEnum.REQUEST_LIGHT_DATA.getCode()).build();
//        IRequestFrame requestFrame = FrameBuilder.
//                builderA5().
//                innerFrame(
//                        new A5LightTimerReqInnerFrame
//                                (framePayload, lightAddress)
//                                ).
//                orderType(A5OrderEnum.REQUEST_LIGHT_DATA.getCode()).
//                build();
        A5LightTimerReqInnerFrame
                a5LightTimerReqInnerFrame = new A5LightTimerReqInnerFrame(framePayload, lightAddress);
        System.out.println(JSON.toJSONString(a5LightTimerReqInnerFrame) + "          --------a5LightTimerReqInnerFrame");
        A5Frame requestFrame = new A5Frame(A5OrderEnum.REQUEST_LIGHT_DATA.getCode(), a5LightTimerReqInnerFrame);
        System.out.println(requestFrame + "          --------requestFrame");
        WrapResponseCommonFrame<A5LightTimerRespInnerFrame> responseCommonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceCode, requestFrame, A5LightTimerRespInnerFrame.class);
        WrapResponseCommonFrame<A5LightTimerRespInnerFrame> responseCommonFrame
                = MainBoardInvokeSyncService.getInstance().sendRRPC
                (deviceCode, requestFrame, A5LightTimerRespInnerFrame.class);
        System.out.println(responseCommonFrame + "         -----------responseCommonFrame");
        StoreOperationRecordsUtils.storeInnerFrameData(deviceCode, "单灯帧-控灯", requestFrame, responseCommonFrame);
        return Optional.ofNullable(responseCommonFrame).map(WrapResponseCommonFrame::getResponseInnerFrame).orElse(null);
@@ -664,6 +686,10 @@
            //存在任务关系   下发清除任务指令
            Map<String, List<LightTaskPoleRelation>> ffff = sendControllerFrame(poleIds, "", byId.getLightAdress());
            if (ffff == null) {
                throw new BusinessException("删除失败");
            }
            /**
             * 删除控灯任务日志记录开始
             */