2021与蓝度共同重构项目,服务端
liuhaonan
2022-06-09 bc359054c1330f486de6535fecb4b1325081d19a
ximon-admin/src/main/java/com/sandu/ximon/admin/service/RemoteUpdateService.java
@@ -11,6 +11,7 @@
import com.sandu.ximon.admin.manager.iot.rrpc.enums.RemoteUpdateTypeEnum;
import com.sandu.ximon.admin.manager.iot.rrpc.mainboard.MainBoardInvokeSyncService;
import com.sandu.ximon.admin.manager.iot.rrpc.util.FileProcessingUtils;
import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
import com.sandu.ximon.dao.domain.RemoteUpdateFile;
import com.sandu.ximon.dao.mapper.RemoteUpdateFileMapper;
import org.springframework.stereotype.Service;
@@ -78,6 +79,7 @@
        A5Frame a5Frame = new A5Frame(orderType, remoteStartUpdateReqInnerFrame);
        System.out.println(a5Frame + "      a5Frame");
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
        StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-启动远程升级", a5Frame, commonFrame);
        System.out.println(commonFrame + "            -----commonFrame");
        RemoteStartUpdateReportInnerFrame remoteStartUpdateReportInnerFrame
@@ -118,29 +120,30 @@
     * @param filePath 文件路径地址
     */
    public RemoteFileDto UpdateFileInfo(String orderType, String mac, String filePath) {
        try {
            RemoteFileDto remoteFileDto = FileProcessingUtils.read(filePath);
            RemoteSendFileReqInnerFrame remoteSendFileReqInnerFrame
                    = new RemoteSendFileReqInnerFrame(remoteFileDto.getListSize(), remoteFileDto.getList().size(), 512, remoteFileDto.getFileHexStr());
            A5Frame a5Frame = new A5Frame(orderType, remoteSendFileReqInnerFrame);
            System.out.println(a5Frame + "      a5Frame");
            CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
            System.out.println(commonFrame + "            -----commonFrame");
            RemoteUpdateFileInfoReportInnerFrame remoteUpdateFileInfoReportInnerFrame
                    = new RemoteUpdateFileInfoReportInnerFrame().transformFrame(commonFrame.getPayload());
            //确认OK
            if (remoteUpdateFileInfoReportInnerFrame != null && remoteUpdateFileInfoReportInnerFrame.isFlag()) {
                return remoteFileDto;
            } else {
                return null;
            }
        } catch (IOException e) {
            e.printStackTrace();
        RemoteFileDto remoteFileDto = FileProcessingUtils.read(filePath);
        if (remoteFileDto == null) {
            throw new BusinessException("文件不存在");
        }
        return null;
        RemoteSendFileReqInnerFrame remoteSendFileReqInnerFrame
                = new RemoteSendFileReqInnerFrame(remoteFileDto.getListSize(), remoteFileDto.getList().size(), 512, remoteFileDto.getFileHexStr());
        A5Frame a5Frame = new A5Frame(orderType, remoteSendFileReqInnerFrame);
        System.out.println(a5Frame + "      a5Frame");
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
        StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-升级文件信息", a5Frame, commonFrame);
        System.out.println(commonFrame + "            -----commonFrame");
        RemoteUpdateFileInfoReportInnerFrame remoteUpdateFileInfoReportInnerFrame
                = new RemoteUpdateFileInfoReportInnerFrame().transformFrame(commonFrame.getPayload());
        //确认OK
        if (remoteUpdateFileInfoReportInnerFrame != null && remoteUpdateFileInfoReportInnerFrame.isFlag()) {
            return remoteFileDto;
        } else {
            return null;
        }
    }
    /**
@@ -156,10 +159,13 @@
        CommonFrame commonFrame = null;
        try {
            commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
            System.out.println(commonFrame + "            -----commonFrame");
        } catch (Exception e) {
            System.out.println("发送数据超时或失败");
        }
        StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-升级包数据", a5Frame, commonFrame);
        //FE  B2  0004  0056  01  00  AE2C4474
    }
@@ -171,6 +177,8 @@
        A5Frame a5Frame = new A5Frame(orderType, remoteSearchLoseDataReqInnerFrame);
        System.out.println(a5Frame + "      a5Frame");
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
        StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-查询漏包帧", a5Frame, commonFrame);
        System.out.println(commonFrame + "            -----commonFrame");
        RemoteSearchLoseDataReportInnerFrame remoteSearchLoseDataReportInnerFrame = new RemoteSearchLoseDataReportInnerFrame().transformFrame(commonFrame.getPayload());
@@ -196,6 +204,8 @@
        A5Frame a5Frame = new A5Frame(orderType, remoteFinishUpdateReqInnerFrame);
        System.out.println(a5Frame + "      a5Frame");
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
        StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-升级结束", a5Frame, commonFrame);
        System.out.println(commonFrame + "            -----commonFrame");
        RemoteFinishUpdateReportInnerFrame remoteFinishUpdateReportInnerFrame = new RemoteFinishUpdateReportInnerFrame().transformFrame(commonFrame.getPayload());
@@ -212,6 +222,8 @@
        A5Frame a5Frame = new A5Frame(orderType, remoteSearchUpdateResultReqInnerFrame);
        System.out.println(a5Frame + "      a5Frame");
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
        StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-升级结果查询", a5Frame, commonFrame);
        System.out.println(commonFrame + "            -----commonFrame");
        RemoteSearchUpdateResultReportInnerFrame innerFrame = new RemoteSearchUpdateResultReportInnerFrame().transformFrame(commonFrame.getPayload());
@@ -227,6 +239,8 @@
        A5Frame a5Frame = new A5Frame(orderType, remoteStopUpdateReqInnerFrame);
        System.out.println(a5Frame + "      a5Frame");
        CommonFrame commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame);
        StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-紧急中断", a5Frame, commonFrame);
        System.out.println(commonFrame + "            -----commonFrame");
        RemoteStopUpdateReportInnerFrame innerFrame = new RemoteStopUpdateReportInnerFrame().transformFrame(commonFrame.getPayload());