Quellcode durchsuchen

分类列表改为树形

gorden vor 1 Jahr
Ursprung
Commit
e113c64599

+ 68 - 0
app/admin/controller/medical/ReservationServiceController.php

@@ -0,0 +1,68 @@
+<?php
+
+namespace app\admin\controller\medical;
+
+use app\admin\validate\medical\ReservationServiceValidate;
+use app\controller\Curd;
+use app\model\MedicalReservationService;
+use support\Request;
+use support\Response;
+
+class ReservationServiceController extends Curd
+{
+    public function __construct()
+    {
+        $this->model = new MedicalReservationService();
+        $this->validate = true;
+        $this->validateClass = new ReservationServiceValidate();
+    }
+
+    /**
+     * @Desc 列表
+     * @Author Gorden
+     * @Date 2024/3/1 11:23
+     *
+     * @param Request $request
+     * @return Response
+     * @throws \support\exception\BusinessException
+     */
+    public function select(Request $request): Response
+    {
+        [$where, $format, $limit, $field, $order] = $this->selectInput($request);
+        $order = $request->get('order', 'desc');
+        $field = $field ?? 'service_addTime';
+        $where['service_is_del'] = 0;
+        $query = $this->doSelect($where, $field, $order);
+        return $this->doFormat($query, $format, $limit);
+    }
+
+    /**
+     * @Desc 软删除
+     * @Author Gorden
+     * @Date 2024/3/1 11:23
+     *
+     * @param Request $request
+     * @return Response
+     * @throws \support\exception\BusinessException
+     */
+    public function delete(Request $request): Response
+    {
+        $ids = $this->deleteInput($request);
+        $this->doSoftDelete($ids, ['service_is_del' => 1]);
+
+        return json_success('success');
+    }
+
+    /**
+     * @Desc 修改状态
+     * @Author Gorden
+     * @Date 2024/3/1 11:24
+     *
+     * @param Request $request
+     * @return Response
+     */
+    public function updateStatus(Request $request)
+    {
+        return $this->updateField($request->post('service_id'), 'service_status', $request->post('service_status'));
+    }
+}

+ 44 - 5
app/admin/controller/sys_manage/CategoryController.php

@@ -4,10 +4,19 @@ namespace app\admin\controller\sys_manage;
 
 use app\admin\service\sys_manage\CategoryService;
 use app\admin\validate\sys_manage\CategoryValidate;
+use app\common\Tree;
+use app\controller\Curd;
+use app\model\SysCategory;
 use support\Request;
+use support\Response;
 
-class CategoryController
+class CategoryController extends Curd
 {
+    public function __construct()
+    {
+        $this->model = new SysCategory();
+    }
+
     /**
      * @Desc 分类列表
      * @Author Gorden
@@ -18,11 +27,41 @@ class CategoryController
      */
     public function categoryList(Request $request)
     {
-        $page = (int)$request->get('page', 1);
-        $limit = (int)$request->get('limit', 10);
-        $keywords = format_string($request->get('keywords', ''));
+        [$where, $format, $limit, $field, $order] = $this->selectInput($request);
+        $format = 'tree';
+        $order = $request->get('order', 'desc');
+        $field = $field ?? 'category_sort';
+        $query = $this->doSelect($where, $field, $order);
+        return $this->doFormat($query, $format, $limit);
+    }
 
-        return CategoryService::categoryList($page, $limit, $keywords);
+    protected function formatTree($items): Response
+    {
+        $format_items = [];
+        foreach ($items as $item) {
+            $format_items[] = [
+                'name' => $item->title ?? $item->name ?? $item->id ?? $item->category_name,
+                'value' => (string)$item->id ?? (string)$item->category_id,
+                'id' => $item->id ?? $item->category_id,
+                'pid' => $item->pid ?? $item->category_super_id,
+                'category_id' => $item->category_id,
+                'category_name' => $item->category_name,
+                'category_super_id' => $item->category_super_id,
+                'category_status' => $item->category_status,
+                'category_classify' => $item->category_classify,
+                'category_type' => $item->category_type,
+                'category_icon' => $item->category_icon,
+                'category_images' => $item->category_images,
+                'category_url' => $item->category_url,
+                'category_page' => $item->category_page,
+                'category_sort' => $item->category_sort,
+                'category_groupby' => $item->category_groupby,
+                'category_extend_json' => $item->category_extend_json,
+                'category_addtimes' => $item->category_addtimes,
+            ];
+        }
+        $tree = new Tree($format_items);
+        return json_success('success', $tree->getTree());
     }
 
     /**

+ 30 - 0
app/admin/validate/medical/ReservationServiceValidate.php

@@ -0,0 +1,30 @@
+<?php
+
+namespace app\admin\validate\medical;
+
+use think\Validate;
+
+class ReservationServiceValidate extends Validate
+{
+    protected $rule = [
+        'service_id' => 'require|integer',
+        'service_category_id' => 'require|integer',
+        'service_shop_id' => 'require|integer',
+        'service_name' => 'require|chsDash',
+        'service_price' => 'require|float',
+        'service_avatar' => 'regex:/^[0-9a-zA-Z\.\/]+$/',
+        'service_type' => 'in:0,1',
+        'service_hour_count' => 'integer',
+        'service_audit' => 'in:0,1,2',
+        'service_status' => 'require|in:0,1'
+    ];
+
+    protected $message = [];
+
+    protected $scene = [
+        'add' => ['service_category_id', 'service_shop_id', 'service_name', 'service_price', 'service_avatar', 'service_type',
+            'service_hour_count', 'service_audit', 'service_status'],
+        'update' => ['service_id', 'service_category_id', 'service_shop_id', 'service_name', 'service_price', 'service_avatar', 'service_type',
+            'service_hour_count', 'service_audit', 'service_status'],
+    ];
+}

+ 1 - 0
app/model/Category.php

@@ -0,0 +1 @@
+<?php

BIN
app/model/Category.php~


+ 18 - 0
app/model/MedicalReservationService.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace app\model;
+
+use support\Model;
+
+class MedicalReservationService extends Model
+{
+    protected $table = 'medical_reservation_service';
+
+    protected $primaryKey = 'service_id';
+
+    protected $dateFormat = 'U';
+
+    public const CREATED_AT = 'service_addTime';
+
+    public const UPDATED_AT = 'service_updateTime';
+}

+ 11 - 1
route/admin.php

@@ -191,7 +191,7 @@ Route::group('/admin', function () {
         })->middleware([
             \app\middleware\AdminAuthCheck::class
         ]);
-        /* 农场套餐商品管理 */
+        /* 健康美食管理 */
         Route::group('/healthyFood', function () {
             Route::get('/list', [\app\admin\controller\life\HealthyFoodController::class, 'select']);
             Route::post('/add', [\app\admin\controller\life\HealthyFoodController::class, 'insert']);
@@ -222,5 +222,15 @@ Route::group('/admin', function () {
         })->middleware([
             \app\middleware\AdminAuthCheck::class
         ]);
+        /* 可预约的服务管理 */
+        Route::group('/reservationService', function () {
+            Route::get('/list', [\app\admin\controller\medical\ReservationServiceController::class, 'select']);
+            Route::post('/add', [\app\admin\controller\medical\ReservationServiceController::class, 'insert']);
+            Route::post('/update', [\app\admin\controller\medical\ReservationServiceController::class, 'update']);
+            Route::post('/updateStatus', [\app\admin\controller\medical\ReservationServiceController::class, 'updateStatus']);
+            Route::delete('/delete', [\app\admin\controller\medical\ReservationServiceController::class, 'delete']);
+        })->middleware([
+            \app\middleware\AdminAuthCheck::class
+        ]);
     });
 });