task_log.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import BaseService from '../../base';
  2. /**
  3. * 任务调度服务
  4. */
  5. export default class SysTaskService extends BaseService {
  6. /**
  7. * 记录任务日志
  8. */
  9. async record(tid: number, status: number) {
  10. const result = await this.getRepo().admin.sys.TaskLog.save({
  11. taskId: tid,
  12. status,
  13. });
  14. return result.id;
  15. }
  16. async updateTaskStatus(id: number, status: number, detail?: string) {
  17. this.getRepo().admin.sys.TaskLog.update(id, {
  18. status,
  19. detail,
  20. });
  21. }
  22. /**
  23. * 计算日志总数
  24. */
  25. async count() {
  26. return await this.getRepo().admin.sys.TaskLog.count();
  27. }
  28. /**
  29. * 分页加载日志信息
  30. */
  31. async page(page: number, count: number) {
  32. // const result = await this.getRepo().admin.sys.TaskLog.find({
  33. // order: {
  34. // id: 'DESC',
  35. // },
  36. // take: count,
  37. // skip: page * count,
  38. // });
  39. // return result;
  40. const result = await this.getRepo().admin.sys.TaskLog.createQueryBuilder('task_log')
  41. .leftJoinAndSelect('sys_task', 'task', 'task_log.task_id = task.id')
  42. .orderBy('task_log.id', 'DESC')
  43. .offset(page * count)
  44. .limit(count)
  45. .getRawMany();
  46. return result.map(e => {
  47. return {
  48. id: e.task_log_id,
  49. taskId: e.task_id,
  50. name: e.task_name,
  51. createTime: e.task_log_createTime,
  52. finishTime: e.task_log_updateTime,
  53. detail: e.task_log_detail,
  54. status: e.task_log_status,
  55. };
  56. });
  57. }
  58. /**
  59. * 清空表中的所有数据
  60. */
  61. async clear() {
  62. await this.getRepo().admin.sys.TaskLog.clear();
  63. }
  64. }