@nger/fk-upload 1.0.102 → 1.0.105
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -102,7 +102,7 @@ let CheckUploadController = class CheckUploadController {
|
|
102
102
|
};
|
103
103
|
}
|
104
104
|
async checkFinish() {
|
105
|
-
const finishs = await this.db.manager.find(fk_download_task_entity_1.FkDownloadTaskEntity, {
|
105
|
+
const finishs = await this.db.manager.find(fk_download_task_entity_1.FkDownloadTaskEntity, {});
|
106
106
|
await Promise.all(finishs.map(finish => {
|
107
107
|
const item = new rabbitmq_1.TaskEntity();
|
108
108
|
item.topic = actions_1.CHECK_ACTION;
|
@@ -8,6 +8,7 @@ const actions_1 = require("./actions");
|
|
8
8
|
const rabbitmq_1 = require("@nger/rabbitmq");
|
9
9
|
const core_1 = require("@nger/core");
|
10
10
|
const request_1 = require("request");
|
11
|
+
const fs_extra_1 = require("fs-extra");
|
11
12
|
class CheckTask extends rabbitmq_1.Task {
|
12
13
|
constructor() {
|
13
14
|
super(actions_1.CHECK_ACTION);
|
@@ -21,24 +22,45 @@ class CheckTask extends rabbitmq_1.Task {
|
|
21
22
|
const filename = data.filename;
|
22
23
|
if (filename) {
|
23
24
|
const finishs = await db.manager.findOne(fk_download_task_entity_1.FkDownloadTaskEntity, { where: { filename } });
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
if (finishs.uploadUrl) {
|
26
|
+
const uploadSize = await this.getSize(finishs.uploadUrl);
|
27
|
+
const downloadSize = await this.getSize(finishs.url);
|
28
|
+
if (uploadSize === downloadSize) {
|
29
|
+
if (finishs.status < 2) {
|
30
|
+
await db.manager.update(fk_download_task_entity_1.FkDownloadTaskEntity, filename, { status: 2 });
|
31
|
+
}
|
32
|
+
await complete();
|
33
|
+
return next && next();
|
34
|
+
}
|
28
35
|
}
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
await
|
33
|
-
|
36
|
+
if (finishs.totalSize === this.getLocalSize(finishs.path)) {
|
37
|
+
// re upload
|
38
|
+
await db.manager.update(fk_download_task_entity_1.FkDownloadTaskEntity, filename, { status: 1 });
|
39
|
+
const upload = await task.createUploadTask({
|
40
|
+
filename: finishs.filename,
|
41
|
+
path: finishs.path,
|
42
|
+
url: finishs.url,
|
43
|
+
topicId: finishs.topicId,
|
44
|
+
loginId: finishs.loginId
|
45
|
+
}, finishs.totalSize, finishs.fileMd5, injector);
|
46
|
+
await manager.send(upload);
|
34
47
|
await complete();
|
48
|
+
return next && next();
|
35
49
|
}
|
50
|
+
await db.manager.update(fk_download_task_entity_1.FkDownloadTaskEntity, filename, { status: 0 });
|
51
|
+
const item = await task.createDownLoadTask(finishs.url, finishs.loginId, finishs.topicId);
|
52
|
+
await manager.send(item);
|
53
|
+
await complete();
|
36
54
|
}
|
37
55
|
else {
|
38
56
|
await complete();
|
39
57
|
}
|
40
58
|
return next && next();
|
41
59
|
}
|
60
|
+
getLocalSize(path) {
|
61
|
+
const satts = (0, fs_extra_1.statSync)(path);
|
62
|
+
return satts.size;
|
63
|
+
}
|
42
64
|
async getSize(url) {
|
43
65
|
const size = (0, core_1.defer)();
|
44
66
|
const req = (0, request_1.get)(url, {
|