|
@@ -2477,29 +2477,37 @@ async function downLoadProjectFile(info) {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-async function doDownLoadAndImport(privateDownloadUrl,info) {
|
|
|
- let stream = fs.createWriteStream(path.join(__dirname, "../../../tmp/"+info.key));//
|
|
|
- request(privateDownloadUrl).pipe(stream).on("close", async function (err) {
|
|
|
- console.log("文件[" + info.key + "]下载完毕");
|
|
|
- let doc = {status:"finish"};
|
|
|
- try {
|
|
|
- let data = fs.readFileSync(stream.path,'utf-8');
|
|
|
- let result = await importProjects(data,{session:info.session},info.updateData);
|
|
|
- if(result.error == 1){
|
|
|
- doc.errorMsg = result.msg;
|
|
|
+async function doDownLoadAndImport(privateDownloadUrl, info) {
|
|
|
+ let stream = fs.createWriteStream(path.join(__dirname, "../../../tmp/" + info.key));//
|
|
|
+ request(privateDownloadUrl)
|
|
|
+ .on('error', async function(err) {
|
|
|
+ await importLogsModel.update({ key: info.key }, { status: 'error', errorMsg: err.toString() });
|
|
|
+ })
|
|
|
+ .pipe(stream)
|
|
|
+ .on("close", async function () {
|
|
|
+ console.log("文件[" + info.key + "]下载完毕");
|
|
|
+ let doc = { status: "finish" };
|
|
|
+ try {
|
|
|
+ let data = fs.readFileSync(stream.path, 'utf-8');
|
|
|
+ let result = await importProjects(data, { session: info.session }, info.updateData);
|
|
|
+ if (result.error == 1) {
|
|
|
+ doc.errorMsg = result.msg;
|
|
|
+ doc.status = "error";
|
|
|
+ } else {
|
|
|
+ doc.projectID = [result.constructionProjectID];
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ doc.errorMsg = "导入失败,请检查文件!";
|
|
|
doc.status = "error";
|
|
|
- } else {
|
|
|
- doc.projectID = [result.constructionProjectID];
|
|
|
+ } finally {
|
|
|
+ await importLogsModel.update({ key: info.key }, doc);
|
|
|
+ fs.unlinkSync(stream.path);
|
|
|
}
|
|
|
- }catch (error){
|
|
|
- console.log(error);
|
|
|
- doc.errorMsg = "导入失败,请检查文件!";
|
|
|
- doc.status = "error";
|
|
|
- }finally {
|
|
|
- await importLogsModel.update({key:info.key},doc);
|
|
|
- fs.unlinkSync(stream.path);
|
|
|
- }
|
|
|
- });
|
|
|
+ })
|
|
|
+ .on('error', async function () {
|
|
|
+ await importLogsModel.update({ key: info.key }, { status: 'error', errorMsg: `文件[${info.key}]下载失败,请稍后再试。` });
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
async function importProcessChecking(data){
|
|
@@ -2552,6 +2560,7 @@ async function downloadFileSync(key) {
|
|
|
const stream = fs.createWriteStream(filePath);
|
|
|
return new Promise((resolve, reject) => {
|
|
|
request(privateDownloadUrl)
|
|
|
+ .on('error', reject)
|
|
|
.pipe(stream)
|
|
|
.on('close', () => {
|
|
|
// 读取文件返回字符串
|
|
@@ -2606,7 +2615,7 @@ async function handleImportInterface(key, session) {
|
|
|
const projectID = await importProject(importData, userID, compilationID, overWriteUrl);
|
|
|
doc.projectID = [projectID];
|
|
|
} catch (err) {
|
|
|
- doc.errorMsg = typeof err === 'string' ? err : '导入接口失败,请检查接口文件!';
|
|
|
+ doc.errorMsg = typeof err === 'string' ? err : err.toString();
|
|
|
doc.status = 'error';
|
|
|
} finally {
|
|
|
await importLogsModel.update({ key }, doc);
|