zbj//1.上传文件并且展示波形
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
package com.njcn.event.controller.majornetwork;
|
||||
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pq.pojo.param.LargeScreenParam;
|
||||
import com.njcn.device.pq.pojo.vo.*;
|
||||
import com.njcn.event.pojo.dto.wave.WaveDataDTO;
|
||||
import com.njcn.event.service.majornetwork.AutonomeWaveService;
|
||||
import com.njcn.event.service.majornetwork.LargeScreenService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @version 1.0.0
|
||||
* @author: zbj
|
||||
* @date: 2023/04/23
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "离线波形查看")
|
||||
@RestController
|
||||
@RequestMapping("/autonomeWave")
|
||||
@RequiredArgsConstructor
|
||||
public class AutonomeWaveController extends BaseController {
|
||||
|
||||
private final AutonomeWaveService autonomeWaveService;
|
||||
|
||||
/**
|
||||
* 上传文件并且展示波形
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/uploadFileAndViewWave")
|
||||
@ApiOperation("上传文件并且展示波形")
|
||||
public HttpResult<WaveDataDTO> uploadFileAndViewWave(@ApiParam(value = "文件1", required = true) @RequestPart("file1") MultipartFile file1,
|
||||
@ApiParam(value = "文件2", required = true) @RequestPart("file2") MultipartFile file2) throws IOException {
|
||||
String methodDescribe = getMethodDescribe("uploadFileAndViewWave");
|
||||
WaveDataDTO result = autonomeWaveService.uploadFileAndViewWave(file1, file2);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.event.service.majornetwork;
|
||||
|
||||
import com.njcn.event.pojo.dto.wave.WaveDataDTO;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
|
||||
/**
|
||||
* @version 1.0.0
|
||||
* @author: zbj
|
||||
* @date: 2023/04/23
|
||||
*/
|
||||
public interface AutonomeWaveService {
|
||||
WaveDataDTO uploadFileAndViewWave(MultipartFile file1, MultipartFile file2) throws IOException;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.njcn.event.service.majornetwork.Impl;
|
||||
|
||||
import com.njcn.common.config.GeneralInfo;
|
||||
import com.njcn.event.pojo.dto.wave.WaveDataDTO;
|
||||
import com.njcn.event.service.majornetwork.AutonomeWaveService;
|
||||
import com.njcn.event.utils.WaveUtil;
|
||||
import com.njcn.oss.constant.GeneralConstant;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @version 1.0.0
|
||||
* @author: zbj
|
||||
* @date: 2023/043/23
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AutonomeWaveServiceImpl implements AutonomeWaveService {
|
||||
|
||||
private final GeneralInfo generalInfo;
|
||||
|
||||
private final WaveUtil waveUtil;
|
||||
|
||||
@Override
|
||||
public WaveDataDTO uploadFileAndViewWave(MultipartFile file1, MultipartFile file2) throws IOException {
|
||||
//测试路径
|
||||
File dir = new File("C:\\Users\\User\\Desktop\\wave");
|
||||
//真实路径
|
||||
// File dir = new File(generalInfo.getBusinessTempPath() + File.separator + "wave");
|
||||
|
||||
String cfgPath, datPath;
|
||||
if (!dir.exists()) {
|
||||
dir.mkdirs();
|
||||
}
|
||||
String fileName1 = file1.getOriginalFilename();
|
||||
String fileName2 = file2.getOriginalFilename();
|
||||
//判断文件后缀
|
||||
String fileExtension1 = fileName1.substring(fileName1.lastIndexOf(".")).toUpperCase();
|
||||
if (Objects.equals(fileExtension1, GeneralConstant.CFG)) {
|
||||
//使用本地的波形文件进行测试
|
||||
File cfg = new File(dir + File.separator + fileName1);
|
||||
File dat = new File(dir + File.separator + fileName2);
|
||||
file1.transferTo(cfg);
|
||||
file2.transferTo(dat);
|
||||
cfgPath = dir + File.separator + fileName1;
|
||||
datPath = dir + File.separator + fileName2;
|
||||
InputStream cfgInputStream = Files.newInputStream(Paths.get(cfgPath));
|
||||
InputStream datInputStream = Files.newInputStream(Paths.get(datPath));
|
||||
WaveDataDTO comtrade = waveUtil.getComtrade(cfgInputStream, datInputStream, 1);
|
||||
return waveUtil.getValidData(comtrade);
|
||||
} else {
|
||||
//使用本地的波形文件进行测试
|
||||
File dat = new File(dir + File.separator + fileName1);
|
||||
File cfg = new File(dir + File.separator + fileName2);
|
||||
file1.transferTo(dat);
|
||||
file2.transferTo(cfg);
|
||||
cfgPath = dir + File.separator + fileName2;
|
||||
datPath = dir + File.separator + fileName1;
|
||||
InputStream cfgInputStream = Files.newInputStream(Paths.get(cfgPath));
|
||||
InputStream datInputStream = Files.newInputStream(Paths.get(datPath));
|
||||
WaveDataDTO comtrade = waveUtil.getComtrade(cfgInputStream, datInputStream, 1);
|
||||
return waveUtil.getValidData(comtrade);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user