EnableAppTool.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Module\Transfer\AdminControllers\Tools;
  3. use App\Module\Transfer\Models\TransferApp;
  4. use Dcat\Admin\Grid\BatchAction;
  5. use Illuminate\Http\Request;
  6. /**
  7. * 启用应用批量操作工具
  8. */
  9. class EnableAppTool extends BatchAction
  10. {
  11. /**
  12. * 工具标题
  13. */
  14. protected $title = '启用应用';
  15. /**
  16. * 处理批量操作
  17. */
  18. public function handle(Request $request)
  19. {
  20. // 获取选中的ID
  21. $keys = $this->getKey();
  22. if (empty($keys)) {
  23. return $this->response()->error('请选择要启用的应用');
  24. }
  25. try {
  26. // 批量启用应用
  27. $count = TransferApp::whereIn('id', $keys)->update([
  28. 'is_enabled' => 1,
  29. 'updated_at' => now(),
  30. ]);
  31. return $this->response()->success("成功启用 {$count} 个应用")->refresh();
  32. } catch (\Exception $e) {
  33. return $this->response()->error('启用失败: ' . $e->getMessage());
  34. }
  35. }
  36. /**
  37. * 确认对话框
  38. */
  39. public function confirm()
  40. {
  41. return '确定要启用选中的应用吗?';
  42. }
  43. }