|
@@ -125,7 +125,7 @@ public class SysEngineeringController extends BaseController {
|
|
|
*/
|
|
|
@GetMapping("/download")
|
|
|
public ResponseEntity<StreamingResponseBody> downloadZip() {
|
|
|
-
|
|
|
+ System.err.println("开始调用" + DateUtils.getTime());
|
|
|
// 指定要打包的文件或目录路径
|
|
|
String sourceFilePath = ZkqyConfig.getUploadPath() + "/engineeringdownload/";
|
|
|
|
|
@@ -147,8 +147,9 @@ public class SysEngineeringController extends BaseController {
|
|
|
// databaseList.add("zkqy-call");
|
|
|
databaseList.add(datasourceInfo.getDatabaseName());
|
|
|
//将sql文件导出到指定目录下
|
|
|
+ System.err.println("SQL文件开始生成" + DateUtils.getTime());
|
|
|
exportMultipleDatabasesToLocal(databaseList, sourceFilePath, datasourceInfo);
|
|
|
-
|
|
|
+ System.err.println("SQL文件生成完毕" + DateUtils.getTime());
|
|
|
//下载成功插入数据
|
|
|
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
|
|
|
SysEngineering sysEngineering = new SysEngineering();
|
|
@@ -168,14 +169,13 @@ public class SysEngineeringController extends BaseController {
|
|
|
.body(outputStream -> {
|
|
|
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(Paths.get(sourceFilePath));
|
|
|
ZipOutputStream zipOut = new ZipOutputStream(outputStream)) {
|
|
|
-
|
|
|
+ System.err.println("开始导出文件" + DateUtils.getTime());
|
|
|
addFilesToZipRecursively(zipOut, Paths.get(sourceFilePath), directoryStream);
|
|
|
-
|
|
|
+ System.err.println("成功导出文件" + DateUtils.getTime());
|
|
|
} catch (IOException e) {
|
|
|
throw new RuntimeException("Failed to create the ZIP stream.", e);
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -183,10 +183,11 @@ public class SysEngineeringController extends BaseController {
|
|
|
*/
|
|
|
@GetMapping("/download1")
|
|
|
public void downloadZip1(HttpServletResponse response) {
|
|
|
+ System.err.println("开始调用" + DateUtils.getTime());
|
|
|
+
|
|
|
// 指定要打包的文件或目录路径
|
|
|
String sourceFilePath = ZkqyConfig.getUploadPath() + "/engineeringdownload/";
|
|
|
|
|
|
-
|
|
|
File dir = new File(sourceFilePath);
|
|
|
// 判断文件夹路径是否存在,不存在创建
|
|
|
if (!dir.exists()) {
|
|
@@ -204,7 +205,9 @@ public class SysEngineeringController extends BaseController {
|
|
|
databaseList.add("ry-vue-call");
|
|
|
databaseList.add(datasourceInfo.getDatabaseName());
|
|
|
//将sql文件导出到指定目录下
|
|
|
+ System.err.println("SQL文件开始生成" + DateUtils.getTime());
|
|
|
exportMultipleDatabasesToLocal(databaseList, sourceFilePath, datasourceInfo);
|
|
|
+ System.err.println("SQL文件生成完毕" + DateUtils.getTime());
|
|
|
|
|
|
//下载成功插入数据
|
|
|
SysUser sysUser = SecurityUtils.getLoginUser().getUser();
|
|
@@ -214,7 +217,9 @@ public class SysEngineeringController extends BaseController {
|
|
|
sysEngineering.setEngineeringName(sysUser.getTenantName() + "-mes");
|
|
|
sysEngineeringService.insertSysEngineering(sysEngineering);
|
|
|
List<Map<String, String>> fileList = listFiles(sourceFilePath);
|
|
|
+ System.err.println("开始导出文件" + DateUtils.getTime());
|
|
|
ZipUtils.createZip(response, fileList);
|
|
|
+ System.err.println("成功导出文件" + DateUtils.getTime());
|
|
|
}
|
|
|
|
|
|
private void addFilesToZipRecursively(ZipOutputStream zipOut, Path rootPath, DirectoryStream<Path> dirStream) throws IOException {
|
|
@@ -265,8 +270,9 @@ public class SysEngineeringController extends BaseController {
|
|
|
try {
|
|
|
// 构建命令参数列表
|
|
|
List<String> cmd = new ArrayList<>();
|
|
|
- cmd.add("mysqldump");
|
|
|
- cmd.add("--column-statistics=0");
|
|
|
+// cmd.add("mysqldump");
|
|
|
+ cmd.add("/usr/local/mysql/bin/mysqldump");
|
|
|
+// cmd.add("--column-statistics=0");
|
|
|
cmd.add("-h");
|
|
|
cmd.add(dataSource.getDatabaseIp());
|
|
|
cmd.add("-u");
|
|
@@ -276,8 +282,8 @@ public class SysEngineeringController extends BaseController {
|
|
|
|
|
|
ProcessBuilder pb = new ProcessBuilder(cmd);
|
|
|
// 设置MySQL bin目录到PATH环境变量,确保mysqldump可执行文件能找到
|
|
|
- Map<String, String> env = pb.environment();
|
|
|
- env.put("PATH", env.get("PATH") + File.pathSeparator + "\\usr\\local\\mysql\\bin");
|
|
|
+// Map<String, String> env = pb.environment();
|
|
|
+// env.put("PATH", env.get("PATH") + File.pathSeparator + "\\usr\\local\\mysql\\bin");
|
|
|
|
|
|
// 创建进程并获取输出流
|
|
|
Process process = pb.start();
|