liurunyu
2024-11-19 4e4bcc8e95fef11e695d476da4e761399d3c7247
json传输byte[]数组,转换为base64编码
3个文件已修改
12 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeTaskVo.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/softUpgrade/state/UpgradeTaskVo.java
@@ -15,6 +15,7 @@
    public String softFileName ;//升级程序文件名
    public String softStoreAddr ;//升级程序存放地址
    public String softStartAddr ;//程序覆盖起始地址
    public String softFileData64 ;//有效升级程序字节数组
    public byte[] softFileData ;//有效升级程序字节数组
    public Integer softBytesCalculate ;//根据公式计算得到的有效升级程序字节数
    public Integer softByteSrc16 ;//有效升级程序字节数CRC16校验值
@@ -27,7 +28,7 @@
                "   升级程序文件名=" + softFileName + "\n" +
                "   升级程序存放地址=" + softStoreAddr + "\n" +
                "   程序覆盖起始地址=" + softStartAddr + "\n" +
                "   有效升级程序字节数=" + softFileData.length + "\n" +
                "   有效升级程序字节数(base64)=" + softFileData64 + "\n" +
                "   公式计算程序字节数=" + softBytesCalculate +
                "   程序CRC16校验值=" + softByteSrc16 + "\n" +
                "   升级控制器数量=" + rtuAddrList.size() + "\n" +
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/upgrade/UpgradeTask.java
@@ -76,7 +76,7 @@
        if(taskVo.softStartAddr == null || taskVo.softStartAddr.trim().length() != 8){
            throw new Exception("程序覆盖起始地址不合法,必须是8字符(十六进制)的字符串") ;
        }
        if(taskVo.softFileData == null || taskVo.softFileData.length <= 0){
        if(taskVo.softFileData64 == null || taskVo.softFileData64.trim().length() == 0){
            throw new Exception("升级程序内容必须提供") ;
        }
        if(taskVo.softBytesCalculate == null){
@@ -96,7 +96,8 @@
        this.taskVo = taskVo ;
        this.upgradeRtus = new HashMap<>();
        if(taskVo.softFileData != null && taskVo.softFileData.length >0){
        if(taskVo.softFileData64 != null && taskVo.softFileData64.trim().equals("")){
            taskVo.softFileData = Base64.getDecoder().decode(taskVo.softFileData64);
            List<byte[]> listBytes = new HexFileParse().splitBytesByUnit512(taskVo.softFileData);
            this.softFileDataGrp = listBytes.toArray(new byte[0][]);
            for(String rtuAddr : this.taskVo.rtuAddrList){
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/rtuUpgrage/RtuUpgradeCtrl.java
@@ -29,6 +29,7 @@
import org.springframework.web.client.RestTemplate;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
/**
@@ -118,7 +119,8 @@
        vo.softFileName = ppo.hexFileName ;
        vo.softStoreAddr = ppo.storeRamAddr ;
        vo.softStartAddr = ppo.startRamAddr ;
        vo.softFileData = ppo.programBytes ;
        vo.softFileData64 = Base64.getEncoder().encodeToString(ppo.programBytes) ;
        //vo.softFileData = ppo.programBytes ;
        vo.softBytesCalculate = ppo.programCalculateBytes ;
        vo.softByteSrc16 = ppo.programCrc16 ;
    }