@gingkoo/base-server 0.0.4-alpha.13 → 0.0.4-alpha.14
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.
- package/backend/common/services/task.js +40 -0
- package/backend/common/sse/index.js +69 -4
- package/backend/utils/date.js +20 -20
- package/package.json +2 -3
|
@@ -9,6 +9,7 @@ const {
|
|
|
9
9
|
deleteSqlBuilder,
|
|
10
10
|
pageQuery,
|
|
11
11
|
} = require('@gingkoo/node-tools');
|
|
12
|
+
const { formatDate } = require('../../utils/date');
|
|
12
13
|
|
|
13
14
|
const entity = require('../entity');
|
|
14
15
|
|
|
@@ -256,4 +257,43 @@ module.exports = {
|
|
|
256
257
|
}
|
|
257
258
|
return results;
|
|
258
259
|
},
|
|
260
|
+
|
|
261
|
+
// 开始
|
|
262
|
+
onStart(TASK_ID, REC_NUM, params = {}) {
|
|
263
|
+
this.updateTask({
|
|
264
|
+
REC_NUM,
|
|
265
|
+
STATUS: 'Loaded',
|
|
266
|
+
TASK_ID,
|
|
267
|
+
...params,
|
|
268
|
+
});
|
|
269
|
+
},
|
|
270
|
+
|
|
271
|
+
// 成功
|
|
272
|
+
onSuccess(TASK_ID, params = {}) {
|
|
273
|
+
let curTime = formatDate(new Date(), 'yyyyMMddHHmmss');
|
|
274
|
+
let curDate = formatDate(new Date(), 'yyyyMMdd');
|
|
275
|
+
this.updateTask({
|
|
276
|
+
STATUS: 'Success',
|
|
277
|
+
TASK_ID,
|
|
278
|
+
notupdate: true,
|
|
279
|
+
DATA_UPD_TIME: curTime,
|
|
280
|
+
DATA_UPD_DATE: curDate,
|
|
281
|
+
...params,
|
|
282
|
+
});
|
|
283
|
+
},
|
|
284
|
+
|
|
285
|
+
// 失败
|
|
286
|
+
onError(TASK_ID, message = '', params = {}) {
|
|
287
|
+
let curTime = formatDate(new Date(), 'yyyyMMddHHmmss');
|
|
288
|
+
let curDate = formatDate(new Date(), 'yyyyMMdd');
|
|
289
|
+
this.updateTask({
|
|
290
|
+
STATUS: 'Error',
|
|
291
|
+
TASK_ID,
|
|
292
|
+
EXT_INFO_1: message,
|
|
293
|
+
notupdate: true,
|
|
294
|
+
DATA_UPD_TIME: curTime,
|
|
295
|
+
DATA_UPD_DATE: curDate,
|
|
296
|
+
...params,
|
|
297
|
+
});
|
|
298
|
+
},
|
|
259
299
|
};
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
const { formatDate } = require('../../utils/date');
|
|
2
|
+
|
|
1
3
|
const bgTaskEnum = {
|
|
2
4
|
taskProgressStatus: {
|
|
3
5
|
dataLoading: 'DataLoading',
|
|
4
|
-
importIntoData: 'ImportIntoData',
|
|
6
|
+
importIntoData: 'ImportIntoData', // 好像是导入初始化
|
|
5
7
|
|
|
6
8
|
exportOutData: 'ExportOutData',
|
|
7
|
-
fileBuilding: 'FileBuilding',
|
|
9
|
+
fileBuilding: 'FileBuilding', // 好像是导出初始化
|
|
8
10
|
|
|
9
|
-
taskComplete: 'TaskComplete',
|
|
10
|
-
taskError: 'TaskError',
|
|
11
|
+
taskComplete: 'TaskComplete', // 任务完成
|
|
12
|
+
taskError: 'TaskError', // 任务失败完成
|
|
11
13
|
},
|
|
12
14
|
|
|
13
15
|
eventType: {
|
|
@@ -71,6 +73,69 @@ class Sse {
|
|
|
71
73
|
this.users[userId].cancelTasks.push(taskId);
|
|
72
74
|
}
|
|
73
75
|
}
|
|
76
|
+
|
|
77
|
+
// 开始
|
|
78
|
+
onStart(TASK_ID, USER_ID, REC_NUM, params = {}) {
|
|
79
|
+
this.changeBgTaskSatus(
|
|
80
|
+
{
|
|
81
|
+
TASK_ID,
|
|
82
|
+
taskProgressStatus: bgTaskEnum.taskProgressStatus.importIntoData,
|
|
83
|
+
REC_NUM, // 总共条数
|
|
84
|
+
OPER_NUM: 0, // 当前在处理的条数
|
|
85
|
+
...params,
|
|
86
|
+
},
|
|
87
|
+
USER_ID,
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// 进行中
|
|
92
|
+
onProgress(TASK_ID, USER_ID, REC_NUM, OPER_NUM, params = {}) {
|
|
93
|
+
this.changeBgTaskSatus(
|
|
94
|
+
{
|
|
95
|
+
TASK_ID,
|
|
96
|
+
taskProgressStatus: bgTaskEnum.taskProgressStatus.importIntoData,
|
|
97
|
+
OPER_NUM,
|
|
98
|
+
REC_NUM,
|
|
99
|
+
...params,
|
|
100
|
+
},
|
|
101
|
+
USER_ID,
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// 成功
|
|
106
|
+
onSuccess(TASK_ID, USER_ID, params = {}) {
|
|
107
|
+
let curTime = formatDate(new Date(), 'yyyyMMddHHmmss');
|
|
108
|
+
let curDate = formatDate(new Date(), 'yyyyMMdd');
|
|
109
|
+
this.overBgTaskStatus(
|
|
110
|
+
{
|
|
111
|
+
TASK_ID,
|
|
112
|
+
taskProgressStatus: bgTaskEnum.taskProgressStatus.taskComplete,
|
|
113
|
+
STATUS: 'Success',
|
|
114
|
+
DATA_UPD_TIME: curTime,
|
|
115
|
+
DATA_UPD_DATE: curDate,
|
|
116
|
+
...params,
|
|
117
|
+
},
|
|
118
|
+
USER_ID,
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// 失败
|
|
123
|
+
onError(TASK_ID, USER_ID, message = '', params = {}) {
|
|
124
|
+
let curTime = formatDate(new Date(), 'yyyyMMddHHmmss');
|
|
125
|
+
let curDate = formatDate(new Date(), 'yyyyMMdd');
|
|
126
|
+
this.overBgTaskStatus(
|
|
127
|
+
{
|
|
128
|
+
TASK_ID,
|
|
129
|
+
taskProgressStatus: bgTaskEnum.taskProgressStatus.taskError,
|
|
130
|
+
errorMessage: message,
|
|
131
|
+
STATUS: 'Error',
|
|
132
|
+
DATA_UPD_TIME: curTime,
|
|
133
|
+
DATA_UPD_DATE: curDate,
|
|
134
|
+
...params,
|
|
135
|
+
},
|
|
136
|
+
USER_ID,
|
|
137
|
+
);
|
|
138
|
+
}
|
|
74
139
|
}
|
|
75
140
|
|
|
76
141
|
const sse = new Sse();
|
package/backend/utils/date.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const moment = require('moment');
|
|
1
|
+
// const moment = require('moment');
|
|
2
2
|
const { format } = require('date-fns');
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -40,26 +40,26 @@ exports.dateFormatTime2 = (dateStr) => {
|
|
|
40
40
|
* @param {string} time
|
|
41
41
|
* @returns
|
|
42
42
|
*/
|
|
43
|
-
exports.timeDiff = (time) => {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
43
|
+
// exports.timeDiff = (time) => {
|
|
44
|
+
// // weeks、years、months、days、hours、minutes、 seconds
|
|
45
|
+
// let endTime = moment(); //获取当前时间
|
|
46
|
+
// let startTime = time; //设置之前时间
|
|
47
|
+
// let d = endTime.diff(startTime, 'days');
|
|
48
|
+
// let h = endTime.diff(startTime, 'hours') % 24;
|
|
49
|
+
// let m = endTime.diff(startTime, 'minutes') % 60;
|
|
50
|
+
// let str = '';
|
|
51
|
+
// if (d) {
|
|
52
|
+
// str += `${d}天`;
|
|
53
|
+
// }
|
|
54
|
+
// if (!str && h) {
|
|
55
|
+
// str += `${h}小时`;
|
|
56
|
+
// }
|
|
57
|
+
// if (!str && m) {
|
|
58
|
+
// str += `${m}分钟`;
|
|
59
|
+
// }
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
};
|
|
61
|
+
// return str;
|
|
62
|
+
// };
|
|
63
63
|
|
|
64
64
|
exports.formatDate = (date = new Date(), formatStr = 'yyyy-MM-dd HH:mm:ss') => {
|
|
65
65
|
return format(date, formatStr);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gingkoo/base-server",
|
|
3
|
-
"version": "0.0.4-alpha.
|
|
3
|
+
"version": "0.0.4-alpha.14",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "app.js",
|
|
6
6
|
"scripts": {
|
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
"build": "npm run clean && vite build --mode production",
|
|
9
9
|
"serve": "nodemon serve -p 1000",
|
|
10
10
|
"check": "node scripts/check_publish.js",
|
|
11
|
-
"clean": "rimraf dist"
|
|
12
|
-
"prepublishOnly": "npm run check && npm run build"
|
|
11
|
+
"clean": "rimraf dist"
|
|
13
12
|
},
|
|
14
13
|
"files": [
|
|
15
14
|
"dist",
|