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