From 65ddd7a3607fb30a1cd66d24f6e0a8c50783f6f1 Mon Sep 17 00:00:00 2001 From: liaofei <136327134@qq.com> Date: Sat, 15 Apr 2023 14:14:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=A0=E9=99=A4=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adminapi/controller/v1/setting/SystemCrud.php | 5 ++++- .../adminapi/controller/v1/setting/SystemRoute.php | 2 +- crmeb/app/adminapi/route/system.php | 2 +- crmeb/app/dao/BaseDao.php | 14 ++++++++++++++ crmeb/app/services/system/SystemCrudServices.php | 2 +- crmeb/config/app.php | 4 ++++ .../services/crud/stubs/controller/delete.stub | 2 +- 7 files changed, 26 insertions(+), 5 deletions(-) diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php index 9668317c8..1fd145b83 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemCrud.php @@ -311,6 +311,9 @@ class SystemCrud extends AuthController } $zipPath = app()->getRootPath() . 'backup' . DS . Str::camel($info->table_name); $zipName = app()->getRootPath() . 'backup' . DS . Str::camel($info->table_name) . '.zip'; + if (is_file($zipName)) { + unlink($zipName); + } $makePath = $info->make_path ?? []; foreach ($makePath as $key => $item) { if (in_array($key, ['pages', 'router', 'api'])) { @@ -361,7 +364,7 @@ class SystemCrud extends AuthController 'path' => $zipName, 'fileName' => Str::camel($info->table_name) . '.zip', ], 300); - return app()->success(['download_url' => sys_config('site_url') . '/adminapi/download/' . $key]); + return app('json')->success(['download_url' => sys_config('site_url') . '/adminapi/download/' . $key]); } /** diff --git a/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php b/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php index ef3488c56..9e9eb4ee3 100644 --- a/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php +++ b/crmeb/app/adminapi/controller/v1/setting/SystemRoute.php @@ -158,7 +158,7 @@ class SystemRoute extends AuthController return app('json')->fail('缺少参数'); } - $this->services->delete($id); + $this->services->destroy($id); return app('json')->success('删除成功'); } diff --git a/crmeb/app/adminapi/route/system.php b/crmeb/app/adminapi/route/system.php index b14441d89..75158915a 100644 --- a/crmeb/app/adminapi/route/system.php +++ b/crmeb/app/adminapi/route/system.php @@ -134,7 +134,7 @@ Route::group('system', function () { ], ]); //下载生成的文件 - Route::get('crud/download', 'v1.setting.SystemCrud/download')->option(['real_name' => '下载生成的文件']); + Route::get('crud/download/:id', 'v1.setting.SystemCrud/download')->option(['real_name' => '下载生成的文件']); //获取CRUD列表 Route::get('crud/column_type', 'v1.setting.SystemCrud/columnType')->option(['real_name' => '获取CRUD列表']); //获取菜单TREE形数据 diff --git a/crmeb/app/dao/BaseDao.php b/crmeb/app/dao/BaseDao.php index 0379a78aa..343118314 100644 --- a/crmeb/app/dao/BaseDao.php +++ b/crmeb/app/dao/BaseDao.php @@ -253,6 +253,20 @@ abstract class BaseDao return $this->getModel()->where($where)->delete(); } + /** + * 删除记录 + * @param int $id + * @param bool $force + * @return bool + * @author 等风来 + * @email 136327134@qq.com + * @date 2023/4/15 + */ + public function destroy(int $id, bool $force = false) + { + return $this->getModel()->destroy($id, $force); + } + /** * 更新数据 * @param int|string|array $id diff --git a/crmeb/app/services/system/SystemCrudServices.php b/crmeb/app/services/system/SystemCrudServices.php index b3ce21e0f..fb735e3b5 100644 --- a/crmeb/app/services/system/SystemCrudServices.php +++ b/crmeb/app/services/system/SystemCrudServices.php @@ -369,7 +369,7 @@ class SystemCrudServices extends BaseServices $menuIds = array_column($menus->toArray(), 'id'); array_push($menuIds, $menuInfo->id); //生成文件 - $make = $this->makeFile($tableName, $routeName, false, $data, $filePath); + $make = $this->makeFile($tableName, $routeName, config('app.crud_make', false), $data, $filePath); $makePath = []; foreach ($make as $key => $item) { $makePath[$key] = $item['path']; diff --git a/crmeb/config/app.php b/crmeb/config/app.php index d132a1df2..09848e994 100644 --- a/crmeb/config/app.php +++ b/crmeb/config/app.php @@ -14,7 +14,9 @@ // +---------------------------------------------------------------------- use think\facade\Env; + defined('DS') || define('DS', DIRECTORY_SEPARATOR); + return [ // 应用地址 'app_host' => Env::get('app.host', ''), @@ -50,4 +52,6 @@ return [ 'admin_prefix' => 'admin', //后台前端模板根路径 'admin_template_path' => dirname(app()->getRootPath()) . DS . 'template' . DS . 'admin' . DS . 'src' . DS, + //在保存crud的是否是否直接生成文件 + 'crud_make' => false ]; diff --git a/crmeb/crmeb/services/crud/stubs/controller/delete.stub b/crmeb/crmeb/services/crud/stubs/controller/delete.stub index c73cb4d73..293b74fbb 100644 --- a/crmeb/crmeb/services/crud/stubs/controller/delete.stub +++ b/crmeb/crmeb/services/crud/stubs/controller/delete.stub @@ -10,7 +10,7 @@ return app('json')->fail(100100); } - if ($this->service->delete($id)) { + if ($this->service->destroy($id)) { return app('json')->success(100002); } else { return app('json')->success(100008);