设备监控实时数据相关接口调整(格式与前端不兼容)

This commit is contained in:
guofeihu
2024-07-26 13:56:39 +08:00
parent e27667c364
commit 777abc0824
13 changed files with 444 additions and 160 deletions

View File

@@ -1,6 +1,7 @@
package com.njcn.csharmonic.service.impl;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csharmonic.offline.constant.OfflineConstant;
import com.njcn.csharmonic.offline.log.Log;
import com.njcn.csharmonic.offline.log.vo.NewTaglogbuffer;
import com.njcn.csharmonic.offline.mincfg.AnalyseComtradeCfg;
@@ -8,6 +9,7 @@ import com.njcn.csharmonic.offline.mincfg.tagComtradeCfg;
import com.njcn.csharmonic.offline.vo.Response;
import com.njcn.csharmonic.service.OfflineDataUploadService;
import com.njcn.influx.pojo.po.cs.PqdData;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayOutputStream;
@@ -23,6 +25,7 @@ import java.util.List;
* @version 1.0.0
* @createTime 2024/7/22 13:56
*/
@Slf4j
@Service
public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
@@ -34,21 +37,39 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
List<Response> responses = new ArrayList<>();
//min解析较为特殊需要同时解析所有文件
if(!files.isEmpty() && "min".equals(type)){
if(!files.isEmpty() && OfflineConstant.MIN.equals(type)){
Response response = new Response();
response.setFilename("min");
List<PqdData> pqdData = AnalyseComtradeCfg.processDirectory(files);
response.setFilename(OfflineConstant.MIN);
List<PqdData> pqdData = null;
try {
pqdData = AnalyseComtradeCfg.processDirectory(files);
} catch (Exception e) {
log.error("min文件夹下的数据文件解析失败");
response.setState(2);
}
response.setObj(pqdData);
responses.add(response);
}else{
for(MultipartFile file : files){
Response response = new Response();
response.setFilename(file.getOriginalFilename());
if("comtrade".equals(type) && file.getOriginalFilename().indexOf(".cfg") != -1) {
tagComtradeCfg tagComtradeCfg = AnalyseComtradeCfg.analyseComtradeCfg(file);
if(OfflineConstant.COMTRADE.equals(type) && file.getOriginalFilename().indexOf(OfflineConstant.CFG) != -1) {
tagComtradeCfg tagComtradeCfg = null;
try {
tagComtradeCfg = AnalyseComtradeCfg.analyseComtradeCfg(file);
} catch (Exception e) {
log.error("当前文件:{},解析失败",file.getOriginalFilename());
response.setState(2);
}
response.setObj(tagComtradeCfg);
}else if("log".equals(type) && file.getOriginalFilename().indexOf(".bin") != -1){
List<NewTaglogbuffer> newTaglogbuffers = Log.convertLog(file);
}else if(OfflineConstant.LOG.equals(type) && file.getOriginalFilename().indexOf(OfflineConstant.BIN) != -1){
List<NewTaglogbuffer> newTaglogbuffers = null;
try {
newTaglogbuffers = Log.convertLog(file);
} catch (Exception e) {
log.error("当前文件:{},解析失败",file.getOriginalFilename());
response.setState(2);
}
response.setObj(newTaglogbuffers);
}
responses.add(response);
@@ -59,7 +80,7 @@ public class OfflineDataUploadServiceImpl implements OfflineDataUploadService {
bytes = baos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
throw new BusinessException("数据集对象转字节数组失败");
throw new BusinessException(OfflineConstant.DATATOBYTE_FAIL);
} finally {
oos.close();
baos.close();