| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- namespace App\Module\Cleanup\AdminControllers\Actions;
- use App\Module\Cleanup\Services\CleanupService;
- use Dcat\Admin\Grid\Tools\AbstractTool;
- use Dcat\Admin\Actions\Response;
- use Illuminate\Http\Request;
- /**
- * 扫描表格Action
- *
- * 用于在配置管理页面扫描数据库表格
- */
- class ScanTablesAction extends AbstractTool
- {
- /**
- * 按钮标题
- */
- protected $title = '扫描表格';
- /**
- * 处理请求
- */
- public function handle(Request $request)
- {
- try {
- // 调用扫描服务
- $result = CleanupService::scanTables(true); // 强制刷新
-
- return $this->response()
- ->success('扫描完成!')
- ->detail("成功扫描 {$result['scanned_count']} 个表,创建/更新了 {$result['created_count']} 个配置")
- ->refresh();
-
- } catch (\Exception $e) {
- return $this->response()
- ->error('扫描失败:' . $e->getMessage());
- }
- }
- /**
- * 确认对话框
- */
- public function confirm()
- {
- return [
- '确认扫描表格?',
- '此操作将扫描所有 kku_ 开头的数据表并创建/更新清理配置。'
- ];
- }
- /**
- * 渲染按钮
- */
- public function render()
- {
- return <<<HTML
- <a href="javascript:void(0);" class="btn btn-primary btn-sm" data-action="{$this->getHandleRoute()}">
- <i class="fa fa-search"></i> {$this->title}
- </a>
- HTML;
- }
- }
|