| | |
| | | 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.admin.utils.StringUtil; |
| | | import com.sandu.ximon.dao.domain.RemoteUpdateFile; |
| | | import com.sandu.ximon.dao.mapper.RemoteUpdateFileMapper; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | remoteUpdateFile.setFilename(filename); |
| | | remoteUpdateFile.setFileLength(fileLength); |
| | | return save(remoteUpdateFile); |
| | | } |
| | | |
| | | /** |
| | | * 修改固件升级文件名称 |
| | | * |
| | | * @param remoteFileId |
| | | * @param remoteFileName |
| | | * @return |
| | | */ |
| | | public String updateRemoteFileName(String remoteFileId, String remoteFileName) { |
| | | if (remoteFileId == null || StringUtil.strIsNullOrEmpty(remoteFileName)) { |
| | | throw new BusinessException("参数错误!"); |
| | | } |
| | | RemoteUpdateFile remoteUpdateFile = getById(remoteFileId); |
| | | if (remoteUpdateFile == null) { |
| | | throw new BusinessException("固件升级文件不存在!"); |
| | | } |
| | | remoteUpdateFile.setFilename(remoteFileName); |
| | | boolean update = updateById(remoteUpdateFile); |
| | | if(!update){ |
| | | throw new BusinessException("修改固件升级文件名失败!"); |
| | | } |
| | | return "修改固件升级文件名成功!"; |
| | | } |
| | | |
| | | /** |
| | |
| | | * @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); |
| | | 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; |
| | | } |
| | | } 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; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | CommonFrame commonFrame = null; |
| | | try { |
| | | commonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(mac, a5Frame); |
| | | StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-升级包数据", a5Frame, commonFrame); |
| | | |
| | | System.out.println(commonFrame + " -----commonFrame"); |
| | | } catch (Exception e) { |
| | | System.out.println("发送数据超时或失败"); |
| | | } |
| | | |
| | | StoreOperationRecordsUtils.storeInnerFrameData(mac, "固件升级-升级包数据", a5Frame, commonFrame); |
| | | //FE B2 0004 0056 01 00 AE2C4474 |
| | | } |
| | | |