QueueJobLogController.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. declare(strict_types=1);
  3. namespace SixShop\System\Controller;
  4. use SixShop\System\Entity\QueueJobLogEntity;
  5. use think\Request;
  6. use think\Response;
  7. use function SixShop\Core\page_response;
  8. use function SixShop\Core\success_response;
  9. class QueueJobLogController
  10. {
  11. /**
  12. * 队列任务日志列表
  13. */
  14. public function index(Request $request, QueueJobLogEntity $entity): Response
  15. {
  16. $params = $request->get([
  17. 'name/s',
  18. 'success/d',
  19. 'start_time/s',
  20. 'end_time/s'
  21. ]);
  22. $list = $entity->getList($params, $request->pageAndLimit());
  23. $stats = $entity->getStats($params);
  24. return page_response($list, $stats);
  25. }
  26. /**
  27. * 删除单条日志
  28. */
  29. public function delete(int $id, QueueJobLogEntity $entity): Response
  30. {
  31. $entity->deleteById($id);
  32. return success_response();
  33. }
  34. /**
  35. * 批量删除日志
  36. */
  37. public function batchDelete(Request $request, QueueJobLogEntity $entity): Response
  38. {
  39. $ids = $request->post('ids', []);
  40. if (empty($ids) || !is_array($ids)) {
  41. return success_response([], 'ok', 200, '没有可删除的记录');
  42. }
  43. $entity->deleteByIds($ids);
  44. return success_response([], 'ok', 200, '批量删除成功');
  45. }
  46. /**
  47. * 清空所有日志
  48. */
  49. public function clearAll(QueueJobLogEntity $entity): Response
  50. {
  51. $entity->clearAll();
  52. return success_response([], 'ok', 200, '清空成功');
  53. }
  54. }