Quellcode durchsuchen

接口对接调整

gorden vor 1 Jahr
Ursprung
Commit
c72cd54b1b

+ 1 - 1
app/admin/controller/sys_manage/ConfigController.php

@@ -19,7 +19,7 @@ class ConfigController
     public function configList(Request $request)
     {
         $page = $request->get('page', 1);
-        $limit = $request->get('limit', 10);
+        $limit = $request->get('pageSize', 10);
         $keywords = $request->get('keywords', '');
 
         return ConfigService::configList($page, $limit, $keywords);

+ 7 - 2
app/admin/controller/sys_manage/FieldController.php

@@ -4,6 +4,8 @@ namespace app\admin\controller\sys_manage;
 
 use app\admin\service\sys_manage\FieldService;
 use app\admin\validate\sys_manage\FieldValidate;
+use app\model\SysField;
+use Illuminate\Support\Facades\Schema;
 use support\Request;
 
 class FieldController
@@ -52,6 +54,7 @@ class FieldController
         if (!$validate->scene('add')->check($request->post())) {
             return json_fail($validate->getError());
         }
+
         // 验证数据表是否存在
         if (!FieldService::checkTableExist($request->post('field_table'))) {
             return json_fail('数据表不存在');
@@ -113,8 +116,10 @@ class FieldController
      * @param $id
      * @return \support\Response
      */
-    public function delField($id)
+    public function delField(Request $request)
     {
-        return FieldService::delField($id);
+        $fieldId = $request->post('field_id');
+
+        return FieldService::delField($fieldId);
     }
 }

+ 31 - 0
app/admin/controller/sys_manage/MenuController.php

@@ -35,6 +35,7 @@ class MenuController extends Curd
         $format = $request->get('format', 'menu_tree');
         $order = $request->get('order', 'desc');
         $field = $field ?? 'menu_sort';
+        $limit = 1000;
         $query = $this->doSelect($where, $field, $order);
         return $this->doFormat($query, $format, $limit);
     }
@@ -229,7 +230,37 @@ class MenuController extends Curd
         $order = $request->get('order', 'desc');
         $field = $field ?? 'menu_sort';
         $where['menu_is_show'] = 1;
+        $limit = 1000;
         $query = $this->doSelect($where, $field, $order);
         return $this->doFormat($query, $format, $limit);
     }
+
+    /**
+     * @Des
+     * @Author Gorden
+     * @Date 2024/3/14 10:02
+     *
+     * @param Request $request
+     * @return Response
+     */
+    public function delete(Request $request): Response
+    {
+        Db::beginTransaction();
+        try {
+            $ids = $this->deleteInput($request);
+            if (!$ids) {
+                return json_fail('数据错误');
+            }
+            $menu = $this->model->whereIn('menu_id', $ids)->get();
+            foreach ($menu as $item) {
+                // 删菜单及子菜单
+                $this->model->where('menu_path', 'like', $item->menu_path . '%')->delete();
+            }
+            Db::commit();
+            return json_success('删除成功');
+        } catch (\Exception $e) {
+            Db::rollBack();
+            return json_fail('删除失败');
+        }
+    }
 }

+ 18 - 8
app/admin/service/sys_manage/ConfigService.php

@@ -3,24 +3,25 @@
 namespace app\admin\service\sys_manage;
 
 use app\model\SysConfig;
+use support\Request;
 
 class ConfigService
 {
-    public static function configList($page, $limit, $keywords)
+    public static function configList($page, $pageSize, $keywords)
     {
-        $list = SysConfig::select('*')
+        $rows = SysConfig::select('*')
             ->when($keywords != '', function ($query) use ($keywords) {
                 $query->where('config_name', 'like', '%' . $keywords . '%');
             })
-            ->orderBy('config_addtimes', 'DESC')
-            ->forPage($page, $limit)
+            ->orderBy('config_sort', 'DESC')
+            ->forPage($page, $pageSize)
             ->get()
             ->toArray();
-        $count = SysConfig::when($keywords != '', function ($query) use ($keywords) {
+        $total = SysConfig::when($keywords != '', function ($query) use ($keywords) {
             $query->where('config_name', 'like', '%' . $keywords . '%');
         })->count();
 
-        return json_success('', compact('list', 'page', 'limit', 'count'));
+        return json_success('', compact('rows', 'page', 'pageSize', 'total'));
     }
 
     public static function configInfo($id)
@@ -80,6 +81,7 @@ class ConfigService
     {
         try {
             $data = [
+                'config_status' => $params['config_status'],
                 'config_category' => $params['config_category'],
                 'config_key' => $params['config_key'],
                 'config_name' => $params['config_name'],
@@ -127,10 +129,18 @@ class ConfigService
      * @param $id
      * @return \support\Response
      */
-    public static function delConfig($id)
+    public static function delConfig(Request $request)
     {
+        $ids = $request->post('config_id');
+        if (!$ids) {
+            return json_fail("数据错误");
+        }
         try {
-            SysConfig::where('config_id', $id)->delete();
+            if (is_array($ids)) {
+                SysConfig::whereIn('config_id', $ids)->delete();
+            } else {
+                SysConfig::where('config_id', $ids)->delete();
+            }
         } catch (\Exception $e) {
             return json_fail('配置删除失败');
         }

+ 31 - 21
app/admin/service/sys_manage/FieldService.php

@@ -5,6 +5,7 @@ namespace app\admin\service\sys_manage;
 use app\common\Util;
 use app\model\SysField;
 use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
 use support\Db;
 
 class FieldService
@@ -19,21 +20,21 @@ class FieldService
      * @param $keywords
      * @return \support\Response
      */
-    public static function fieldList($page, $limit, $keywords)
+    public static function fieldList($page, $pageSize, $keywords)
     {
-        $list = SysField::select('*')
+        $rows = SysField::select('*')
             ->when($keywords != '', function ($query) use ($keywords) {
                 $query->where('field_name', 'like', '%' . $keywords . '%');
             })
             ->orderBy('field_addtimes', 'DESC')
-            ->forPage($page, $limit)
+            ->forPage($page, $pageSize)
             ->get()
             ->toArray();
-        $count = SysField::when($keywords != '', function ($query) use ($keywords) {
+        $total = SysField::when($keywords != '', function ($query) use ($keywords) {
             $query->where('field_name', 'like', '%' . $keywords . '%');
         })->count();
 
-        return json_success('', compact('list', 'page', 'limit', 'count'));
+        return json_success('', compact('rows', 'page', 'pageSize', 'total'));
     }
 
     /**
@@ -71,14 +72,14 @@ class FieldService
                 'field_category' => $params['field_category'],
                 'field_name' => $params['field_name'],
                 'field_table' => $params['field_table'],
-                'field_column_key' => $params['field_column_key'],
-                'field_column_datatype' => $params['field_column_datatype'],
-                'field_column_default' => $params['field_column_default'],
-                'field_form_key' => $params['field_form_key'],
-                'field_form_type' => $params['field_form_type'],
-                'field_form_default' => $params['field_form_default'],
-                'field_refer_json' => !!empty($params['field_refer_json']) ? $params['field_refer_json'] : '{}',
-                'field_remark' => $params['field_remark'],
+                'field_column_key' => $params['field_column_key'] ?? '',
+                'field_column_datatype' => $params['field_column_datatype'] ?? '',
+                'field_column_default' => $params['field_column_default'] ?? '',
+                'field_form_key' => $params['field_form_key'] ?? '',
+                'field_form_type' => $params['field_form_type'] ?? '',
+                'field_form_default' => $params['field_form_default'] ?? '',
+                'field_refer_json' => !empty($params['field_refer_json']) ? $params['field_refer_json'] : '{}',
+                'field_remark' => $params['field_remark'] ?? '',
                 'field_extend_json' => !empty($params['field_extend_json']) ? $params['field_extend_json'] : '{}',
                 'field_addtimes' => time()
             ];
@@ -106,7 +107,6 @@ class FieldService
             Db::commit();
         } catch (\Exception $e) {
             Db::rollBack();
-            dd($e->getMessage());
             return json_fail('创建字段失败');
         }
 
@@ -209,15 +209,21 @@ class FieldService
      * @param $id
      * @return \support\Response
      */
-    public static function delField($id)
+    public static function delField($ids)
     {
         Db::beginTransaction();
         try {
-            $field = SysField::where('field_id', $id)->first();
-            // 删除表记录
-            $field->delete();
-            // 删除表字段
-            Util::db()->statement("ALTER TABLE " . getenv('DB_PREFIX') . $field->field_table . " DROP COLUMN `$field->field_column_key`");
+            if (!is_array($ids)){
+                $ids = [$ids];
+            }
+            foreach ($ids as $id){
+                $field = SysField::where('field_id', $id)->first();
+                // 删除表记录
+                $field->delete();
+                // 删除表字段
+                Util::db()->statement("ALTER TABLE " . getenv('DB_PREFIX') . $field->field_table . " DROP COLUMN `$field->field_column_key`");
+            }
+
             // 提交事务
             Db::commit();
         } catch (\Exception $e) {
@@ -232,7 +238,11 @@ class FieldService
     public static function checkTableExist($table)
     {
         try {
-            return Db::table($table)->select(1)->exists();
+            $table = getenv('DB_PREFIX') . $table;
+            $desc = (new SysField)->getConnection()->select("desc `$table`");
+            if ($desc) {
+                return true;
+            }
         } catch (\Exception $e) {
             return false;
         }

+ 5 - 0
app/model/SysCategory.php

@@ -11,4 +11,9 @@ class SysCategory extends Model
     public $primaryKey = 'category_id';
 
     public const UPDATED_AT = null;
+
+    public function getCategoryAddtimesAttribute($value)
+    {
+        return date('Y-m-d H:i:s', $value);
+    }
 }

+ 5 - 0
app/model/SysConfig.php

@@ -11,4 +11,9 @@ class SysConfig extends Model
     public $primaryKey = 'config_id';
 
     public const UPDATED_AT = null;
+
+    public function getConfigAddtimesAttribute($value)
+    {
+        return date('Y-m-d H:i:s', $value);
+    }
 }

+ 5 - 0
app/model/SysField.php

@@ -11,4 +11,9 @@ class SysField extends Model
     public $primaryKey = 'field_id';
 
     public const UPDATED_AT = null;
+
+    public function getFieldAddtimesAttribute($value)
+    {
+        return date('Y-m-d H:i:s', $value);
+    }
 }

+ 2 - 2
route/admin.php

@@ -71,7 +71,7 @@ Route::group('/admin', function () {
             Route::post('/add', [\app\admin\controller\sys_manage\FieldController::class, 'addField']);
             Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\FieldController::class, 'updateField']);
             Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\FieldController::class, 'updateStatus']);
-            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\FieldController::class, 'delField']);
+            Route::delete('/delete', [\app\admin\controller\sys_manage\FieldController::class, 'delField']);
         });
         /* 配置管理 */
         Route::group('/config', function () {
@@ -80,7 +80,7 @@ Route::group('/admin', function () {
             Route::post('/add', [\app\admin\controller\sys_manage\ConfigController::class, 'addConfig']);
             Route::post('/update/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'updateConfig']);
             Route::post('/updateStatus/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'updateStatus']);
-            Route::delete('/delete/{id:\d+}', [\app\admin\controller\sys_manage\ConfigController::class, 'delConfig']);
+            Route::delete('/delete', [\app\admin\controller\sys_manage\ConfigController::class, 'delConfig']);
         });
         /* 运费模板管理 */
         Route::group('/postageTemplate', function () {