Ver Fonte

运营场所管理

gorden há 1 ano atrás
pai
commit
a5f3d07019

+ 28 - 0
app/admin/controller/marketing/PremisesController.php

@@ -0,0 +1,28 @@
+<?php
+
+namespace app\admin\controller\marketing;
+
+use app\admin\validate\marketing\PremisesValidate;
+use app\controller\Curd;
+use app\model\Premises;
+use support\Request;
+use support\Response;
+
+class PremisesController extends Curd
+{
+    public function __construct()
+    {
+        $this->model = new Premises();
+        $this->validate = true;
+        $this->validateClass = new PremisesValidate();
+    }
+
+    public function select(Request $request): Response
+    {
+        [$where, $format, $limit, $field, $order] = $this->selectInput($request);
+        $order = $request->get('order', 'desc');
+        $field = $field ?? 'premises_addtimes';
+        $query = $this->doSelect($where, $field, $order);
+        return $this->doFormat($query, $format, $limit);
+    }
+}

+ 48 - 0
app/admin/validate/marketing/PremisesValidate.php

@@ -0,0 +1,48 @@
+<?php
+
+namespace app\admin\validate\marketing;
+
+use think\Validate;
+
+class PremisesValidate extends Validate
+{
+    protected $rule = [
+        'premises_id' => 'require|integer',
+        'join_premises_category_id' => 'require|integer',
+        'premises_status' => 'require|in:ACTIVED,DISABLED',
+        'premises_category' => 'alphaDash|max:32',
+        'premises_code' => 'max:32',
+        'premises_name' => 'max:64',
+        'premises_city' => 'max:64',
+        'premises_contact_json' => 'isJson',
+        'premises_config_json' => 'isJson',
+        'premises_remark' => 'max:128',
+        'premises_extend_json' => 'isJson'
+    ];
+
+    protected $message = [];
+
+    protected $scene = [
+        'add' => ['join_premises_category_id', 'premises_status', 'premises_category', 'premises_code', 'premises_name',
+            'premises_city', 'premises_contact_json', 'premises_config_json', 'premises_remark', 'premises_extend_json'],
+        'update' => ['premises_id', 'join_premises_category_id', 'premises_status', 'premises_category', 'premises_code', 'premises_name',
+            'premises_city', 'premises_contact_json', 'premises_config_json', 'premises_remark', 'premises_extend_json'],
+        'updateStatus' => ['premises_id', 'premises_status'],
+    ];
+
+    /**
+     * @Desc 验证json
+     * @Author Gorden
+     * @Date 2024/3/6 15:23
+     *
+     * @param $value
+     * @return string|true
+     */
+    public function isJson($value)
+    {
+        if (is_json($value)) {
+            return true;
+        }
+        return "数据格式错误~";
+    }
+}

+ 0 - 1
app/model/Category.php

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

+ 18 - 0
app/model/Premises.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace app\model;
+
+use support\Model;
+
+class Premises extends Model
+{
+    protected $table = 'premises';
+
+    protected $primaryKey = 'premises_id';
+
+    protected $dateFormat = 'U';
+
+    const CREATED_AT = 'premises_addtimes';
+
+    const UPDATED_AT = null;
+}

+ 12 - 0
route/admin.php

@@ -324,4 +324,16 @@ Route::group('/admin', function () {
             \app\middleware\AdminAuthCheck::class
         ]);
     });
+    /* 营销管理 */
+    Route::group('/marketing', function () {
+        /* 家庭管理 */
+        Route::group('/premises', function () {
+            Route::get('/list', [\app\admin\controller\marketing\PremisesController::class, 'select']);
+            Route::post('/add', [\app\admin\controller\marketing\PremisesController::class, 'insert']);
+            Route::post('/update', [\app\admin\controller\marketing\PremisesController::class, 'update']);
+            Route::delete('/delete', [\app\admin\controller\marketing\PremisesController::class, 'delete']);
+        })->middleware([
+            \app\middleware\AdminAuthCheck::class
+        ]);
+    });
 });