fix(service): 修复设备文件上传中的参数传递错误
- 修正了CsEquipmentDeliveryServiceImpl中设备ID参数传递错误的问题 - 将所有使用错误参数id的地方改为正确的nDid参数 - 修复了Redis缓存键值中使用错误参数导致的清理问题 - 修改CslineController中queryLineById方法的参数接收方式从RequestParam改为RequestBody - 更新CsLineFeignClient接口中queryLineById方法的参数注解从RequestParam改为RequestBody以保持一致
This commit is contained in:
@@ -53,7 +53,7 @@ public class CslineController extends BaseController {
|
||||
@PostMapping("/queryLineById")
|
||||
@ApiOperation("监测点查询通过id获取")
|
||||
@ApiImplicitParam(name = "ids", value = "设备id获集合", required = true)
|
||||
public HttpResult<List<CsLinePO>> queryLineById(@RequestParam List<String> ids){
|
||||
public HttpResult<List<CsLinePO>> queryLineById(@RequestBody List<String> ids){
|
||||
String methodDescribe = getMethodDescribe("queryLineById");
|
||||
List<CsLinePO> csLinePOS = csLinePOService.listByIds(ids);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csLinePOS, methodDescribe);
|
||||
|
||||
@@ -1455,19 +1455,19 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
for (int i = 1; i <= times; i++) {
|
||||
//发送数据给前端
|
||||
String json = "{fileName:"+po.getFilePath()+",allStep:"+times+",nowStep:"+i+"}";
|
||||
publisher.send("/Web/Progress/" + id, new Gson().toJson(json), 1, false);
|
||||
publisher.send("/Web/Progress/" + nDid, new Gson().toJson(json), 1, false);
|
||||
LogMessage logDto = new LogMessage();
|
||||
byte[] lsBytes;
|
||||
if (length > 50*1024) {
|
||||
lsBytes = Arrays.copyOfRange(bytes, (i - 1) * cap, i * cap);
|
||||
ReqAndResDto.Req req = getPojo(i,path,bytes.length,lsBytes,(i-1)*cap);
|
||||
publisher.send("/Pfm/DevFileCmd/" + version + "/" + id, new Gson().toJson(req), 1, false);
|
||||
logDto.setOperate(id + "设备上送文件,这是第" + i + "帧");
|
||||
publisher.send("/Pfm/DevFileCmd/" + version + "/" + nDid, new Gson().toJson(req), 1, false);
|
||||
logDto.setOperate(nDid + "设备上送文件,这是第" + i + "帧");
|
||||
logDto.setResult(1);
|
||||
length = length - cap;
|
||||
//判断是否重发
|
||||
sendNextStep(logDto,path,bytes.length,lsBytes,(i-1)*cap,version,id,i,false);
|
||||
FileRedisDto fileRedisDto = (FileRedisDto) redisUtil.getObjectByKey(AppRedisKey.UPLOAD.concat(id).concat(String.valueOf(i)));
|
||||
sendNextStep(logDto,path,bytes.length,lsBytes,(i-1)*cap,version,nDid,i,false);
|
||||
FileRedisDto fileRedisDto = (FileRedisDto) redisUtil.getObjectByKey(AppRedisKey.UPLOAD.concat(nDid).concat(String.valueOf(i)));
|
||||
//重发之后判断继续循环还是跳出循环
|
||||
if (!Objects.isNull(fileRedisDto) && !Objects.equals(fileRedisDto.getCode(),200)) {
|
||||
redisUtil.delete("uploading:" + nDid);
|
||||
@@ -1476,11 +1476,11 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
} else {
|
||||
lsBytes = Arrays.copyOfRange(bytes, (i - 1) * cap, bytes.length);
|
||||
ReqAndResDto.Req req = getPojo(i,path,bytes.length,lsBytes,(i-1)*cap);
|
||||
publisher.send("/Pfm/DevFileCmd/" + version + "/" + id, new Gson().toJson(req), 1, false);
|
||||
publisher.send("/Pfm/DevFileCmd/" + version + "/" + nDid, new Gson().toJson(req), 1, false);
|
||||
logDto.setOperate(id + "设备上送文件,这是最后一帧,为第" + i + "帧");
|
||||
logDto.setResult(1);
|
||||
//判断是否重发
|
||||
sendNextStep(logDto,path,bytes.length,lsBytes,(i-1)*cap,version,id,i,true);
|
||||
sendNextStep(logDto,path,bytes.length,lsBytes,(i-1)*cap,version,nDid,i,true);
|
||||
}
|
||||
logMessageTemplate.sendMember(logDto);
|
||||
}
|
||||
@@ -1488,17 +1488,17 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
String json = "{fileName:"+path+",allStep:\""+1+"\",nowStep:"+1+"}";
|
||||
publisher.send("/Web/Progress", new Gson().toJson(json), 1, false);
|
||||
ReqAndResDto.Req req = getPojo(1,path,length,bytes,0);
|
||||
publisher.send("/Pfm/DevFileCmd/" + version + "/" + id, new Gson().toJson(req), 1, false);
|
||||
publisher.send("/Pfm/DevFileCmd/" + version + "/" + nDid, new Gson().toJson(req), 1, false);
|
||||
LogMessage logDto = new LogMessage();
|
||||
logDto.setOperate(id + "系统上送文件,当前文件只有1帧");
|
||||
logDto.setOperate(nDid + "系统上送文件,当前文件只有1帧");
|
||||
logDto.setResult(1);
|
||||
logMessageTemplate.sendMember(logDto);
|
||||
//判断是否重发
|
||||
sendNextStep(logDto,path,length,bytes,0,version,id,1,false);
|
||||
sendNextStep(logDto,path,length,bytes,0,version,nDid,1,false);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
redisUtil.delete("uploading:" + id);
|
||||
redisUtil.delete("fileDowning:" + id);
|
||||
redisUtil.delete("uploading:" + nDid);
|
||||
redisUtil.delete("fileDowning:" + nDid);
|
||||
LogMessage logDto = new LogMessage();
|
||||
logDto.setResult(0);
|
||||
logDto.setOperate("系统上传升级文件,获取文件流");
|
||||
@@ -1506,8 +1506,8 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
|
||||
logMessageTemplate.sendMember(logDto);
|
||||
throw new BusinessException("获取文件流失败");
|
||||
} catch (Exception e) {
|
||||
redisUtil.delete("uploading:" + id);
|
||||
redisUtil.delete("fileDowning:" + id);
|
||||
redisUtil.delete("uploading:" + nDid);
|
||||
redisUtil.delete("fileDowning:" + nDid);
|
||||
LogMessage logDto = new LogMessage();
|
||||
logDto.setResult(0);
|
||||
logDto.setOperate("系统上传升级文件");
|
||||
|
||||
Reference in New Issue
Block a user