diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java b/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java index 2efc399..0b967d0 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/handler/MqttMessageHandler.java @@ -629,7 +629,7 @@ public class MqttMessageHandler { log.info("装置收到系统上传的文件"); FileRedisDto fileRedisDto = new FileRedisDto(); fileRedisDto.setCode(fileDto.getCode()); - redisUtil.saveByKeyWithExpire(AppRedisKey.UPLOAD,fileRedisDto,10L); + redisUtil.saveByKeyWithExpire(AppRedisKey.UPLOAD.concat(nDid).concat(String.valueOf(fileDto.getMid())),fileRedisDto,10L); redisUtil.saveByKeyWithExpire("uploading","uploading",20L); break; case 4660: diff --git a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java index f9e79db..25d02fc 100644 --- a/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java +++ b/iot-access/access-boot/src/main/java/com/njcn/access/service/impl/CsDevModelServiceImpl.java @@ -173,7 +173,7 @@ public class CsDevModelServiceImpl implements ICsDevModelService { length = length - cap; //判断是否重发 sendNextStep(logDto,path,file,bytes.length,lsBytes,(i-1)*cap,version,id,i,hexString,false); - FileRedisDto fileRedisDto = (FileRedisDto) redisUtil.getObjectByKey(AppRedisKey.UPLOAD); + FileRedisDto fileRedisDto = (FileRedisDto) redisUtil.getObjectByKey(AppRedisKey.UPLOAD.concat(id).concat(String.valueOf(i))); //重发之后判断继续循环还是跳出循环 if (!Objects.isNull(fileRedisDto) && !Objects.equals(fileRedisDto.getCode(),200)) { redisUtil.delete("uploading"); @@ -246,20 +246,20 @@ public class CsDevModelServiceImpl implements ICsDevModelService { if (result) { Thread.sleep(10000); } else { - Thread.sleep(2000); + Thread.sleep(1000); } - FileRedisDto fileRedisDto = (FileRedisDto) redisUtil.getObjectByKey(AppRedisKey.UPLOAD); + FileRedisDto fileRedisDto = (FileRedisDto) redisUtil.getObjectByKey(AppRedisKey.UPLOAD.concat(id).concat(String.valueOf(mid))); if (Objects.isNull(fileRedisDto)) { FileRedisDto fileRedis = new FileRedisDto(); fileRedis.setCode(400); - redisUtil.saveByKeyWithExpire(AppRedisKey.UPLOAD,fileRedis,10L); + redisUtil.saveByKeyWithExpire(AppRedisKey.UPLOAD.concat(id).concat(String.valueOf(mid)),fileRedis,10L); } else { if (Objects.equals(fileRedisDto.getCode(),200)) { break; } else { FileRedisDto fileRedis = new FileRedisDto(); fileRedis.setCode(400); - redisUtil.saveByKeyWithExpire(AppRedisKey.UPLOAD,fileRedis,10L); + redisUtil.saveByKeyWithExpire(AppRedisKey.UPLOAD.concat(id).concat(String.valueOf(mid)),fileRedis,10L); ReqAndResDto.Req req = getPojo(mid,path,file,length,bytes,offset,fileCheck); publisher.send("/Pfm/DevFileCmd/" + version + "/" + id, new Gson().toJson(req), 1, false); logDto.setOperate(id + "系统上送文件,装置响应失败,重新发送,这是第" + (i+1) + "次");