mirror of
https://github.com/cool-team-official/cool-admin-midway.git
synced 2024-11-01 22:20:30 +08:00
任务调用支持多参数
This commit is contained in:
parent
73fb586797
commit
4ce452cb76
@ -4,16 +4,16 @@
|
|||||||
"id": 1,
|
"id": 1,
|
||||||
"jobId": null,
|
"jobId": null,
|
||||||
"repeatConf": "{\"count\":1,\"type\":1,\"limit\":5,\"name\":\"每秒执行,总共5次\",\"taskType\":1,\"every\":1000,\"service\":\"taskDemoService.test()\",\"status\":1,\"id\":1,\"createTime\":\"2021-03-10 14:25:13\",\"updateTime\":\"2021-03-10 14:25:13\",\"jobId\":1}",
|
"repeatConf": "{\"count\":1,\"type\":1,\"limit\":5,\"name\":\"每秒执行,总共5次\",\"taskType\":1,\"every\":1000,\"service\":\"taskDemoService.test()\",\"status\":1,\"id\":1,\"createTime\":\"2021-03-10 14:25:13\",\"updateTime\":\"2021-03-10 14:25:13\",\"jobId\":1}",
|
||||||
"name": "每秒执行,总共5次",
|
"name": "每秒执行一次",
|
||||||
"cron": null,
|
"cron": null,
|
||||||
"limit": 5,
|
"limit": null,
|
||||||
"every": 1000,
|
"every": 1000,
|
||||||
"remark": null,
|
"remark": null,
|
||||||
"status": 0,
|
"status": 0,
|
||||||
"startDate": null,
|
"startDate": null,
|
||||||
"endDate": null,
|
"endDate": null,
|
||||||
"data": null,
|
"data": null,
|
||||||
"service": "taskDemoService.test()",
|
"service": "taskDemoService.test(1,2)",
|
||||||
"type": 1,
|
"type": 1,
|
||||||
"nextRunTime": "2021-3-10 14:25:18",
|
"nextRunTime": "2021-3-10 14:25:18",
|
||||||
"taskType": 1
|
"taskType": 1
|
||||||
|
@ -12,8 +12,8 @@ export class TaskDemoService extends BaseService {
|
|||||||
/**
|
/**
|
||||||
* 描述
|
* 描述
|
||||||
*/
|
*/
|
||||||
async test() {
|
async test(a, b) {
|
||||||
this.logger.info('我被调用了');
|
this.logger.info('我被调用了', a, b);
|
||||||
return '任务执行成功';
|
return '任务执行成功';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -332,14 +332,27 @@ export class TaskInfoService extends BaseService {
|
|||||||
const service = await this.app
|
const service = await this.app
|
||||||
.getApplicationContext()
|
.getApplicationContext()
|
||||||
.getAsync(_.lowerFirst(arr[0]));
|
.getAsync(_.lowerFirst(arr[0]));
|
||||||
for (const child of arr) {
|
|
||||||
|
for (let i = 1; i < arr.length; i++) {
|
||||||
|
const child = arr[i];
|
||||||
if (child.includes('(')) {
|
if (child.includes('(')) {
|
||||||
const lastArr = child.split('(');
|
const [methodName, paramsStr] = child.split('(');
|
||||||
const param = lastArr[1].replace(')', '');
|
const params = paramsStr
|
||||||
if (!param) {
|
.replace(')', '')
|
||||||
return service[lastArr[0]]();
|
.split(',')
|
||||||
|
.map(param => param.trim());
|
||||||
|
|
||||||
|
if (params.length === 1 && params[0] === '') {
|
||||||
|
return service[methodName]();
|
||||||
} else {
|
} else {
|
||||||
return service[lastArr[0]](JSON.parse(param));
|
const parsedParams = params.map(param => {
|
||||||
|
try {
|
||||||
|
return JSON.parse(param);
|
||||||
|
} catch (e) {
|
||||||
|
return param; // 如果不是有效的JSON,则返回原始字符串
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return service[methodName](...parsedParams);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user