|
|
|
@@ -69,18 +69,13 @@ module.exports = class extends Base { |
|
|
|
return this.fail('请选择要导出的附件类型'); |
|
|
|
} |
|
|
|
|
|
|
|
// 防重复:同一用户5分钟内不允许创建相同条件的任务 |
|
|
|
const fiveMinAgo = think.datetime(new Date(Date.now() - 5 * 60 * 1000)); |
|
|
|
const duplicate = await this.model('export_task').where({ |
|
|
|
create_by: this.adminUser?.id || 0, |
|
|
|
file_types: JSON.stringify(file_types), |
|
|
|
filter_params: JSON.stringify(filter_params || {}), |
|
|
|
create_time: ['>', fiveMinAgo], |
|
|
|
// 全局只允许一个打包中的任务 |
|
|
|
const processing = await this.model('export_task').where({ |
|
|
|
is_deleted: 0, |
|
|
|
status: ['in', [0, 1]] |
|
|
|
}).find(); |
|
|
|
if (!think.isEmpty(duplicate)) { |
|
|
|
return this.fail('您有相同条件的任务正在处理中,请勿重复提交'); |
|
|
|
if (!think.isEmpty(processing)) { |
|
|
|
return this.json({ code: 1001, msg: '有任务正在打包中,请稍后再试' }); |
|
|
|
} |
|
|
|
|
|
|
|
const model = this.model('export_task'); |
|
|
|
|