Browse Source

资产管理

gorden 1 year ago
parent
commit
72b41bb997

+ 35 - 0
app/admin/controller/asset/HouseTypeController.php

@@ -0,0 +1,35 @@
+<?php
+
+namespace app\admin\controller\asset;
+
+use app\admin\validate\asset\HouseTypeValidate;
+use app\controller\Curd;
+use app\model\Asset;
+use support\Request;
+
+class HouseTypeController extends Curd
+{
+    public function __construct()
+    {
+        $this->model = new Asset();
+        $this->validate = true;
+        $this->validateClass = new HouseTypeValidate();
+    }
+
+    /**
+     * @Desc 提交数据处理
+     * @Author Gorden
+     * @Date 2024/3/6 9:11
+     *
+     * @param Request $request
+     * @return array
+     * @throws \support\exception\BusinessException
+     */
+    protected function insertInput(Request $request): array
+    {
+        $data = $this->inputFilter($request->post());
+        $data['asset_id'] = date('YmdHis') . mt_rand(1000, 9999);
+
+        return $data;
+    }
+}

+ 2 - 2
app/admin/controller/life/TravelSchedulingController.php

@@ -49,7 +49,7 @@ class TravelSchedulingController extends Curd
     protected function insertInput(Request $request): array
     {
         $data = $this->inputFilter($request->post());
-        $data['week'] = chines_week(date('w',strtotime($data['day'])));
+        $data['week'] = chinese_week(date('w',strtotime($data['day'])));
 
         return $data;
     }
@@ -68,7 +68,7 @@ class TravelSchedulingController extends Curd
         $primary_key = $this->model->getKeyName();
         $id = $request->post($primary_key);
         $data = $this->inputFilter($request->post());
-        $data['week'] = chines_week(date('w',strtotime($data['day'])));
+        $data['week'] = chinese_week(date('w',strtotime($data['day'])));
         $model = $this->model->find($id);
         if (!$model) {
             throw new BusinessException('记录不存在', 2);

+ 43 - 0
app/admin/validate/asset/HouseTypeValidate.php

@@ -0,0 +1,43 @@
+<?php
+
+namespace app\admin\validate\asset;
+
+use think\Validate;
+
+class HouseTypeValidate extends Validate
+{
+    protected $rule = [
+        'asset_id' => 'require|integer',
+        'join_asset_category_id' => 'integer',
+        'asset_name' => 'require',
+        'asset_key' => 'require|alphaDash',
+        'asset_classify' => 'max:32',
+        'asset_status' => 'require|in:ACTIVED,DISABLED',
+        'asset_category' => 'max:32',
+        'asset_house_type' => 'max:32',
+        'asset_house_type_image' => 'regex:/^[0-9a-zA-Z\.\/]+$/',
+        'asset_area_building' => 'float',
+        'asset_area_floorage' => 'float',
+        'asset_area_shared' => 'float',
+        'asset_json' => 'isJson',
+        'asset_remark' => 'max:128',
+        'asset_extend_json' => 'isJson'
+    ];
+
+    protected $message = [];
+
+    protected $scene = [
+        'add' => ['join_asset_category_id', 'asset_name', 'asset_key', 'asset_classify', 'asset_status', 'asset_category', 'asset_house_type',
+            'asset_house_type_image', 'asset_area_building', 'asset_area_floorage', 'asset_area_shared', 'asset_json', 'asset_remark', 'asset_extend_json'],
+        'update' => ['asset_id', 'join_asset_category_id', 'asset_name', 'asset_key', 'asset_classify', 'asset_status', 'asset_category', 'asset_house_type',
+            'asset_house_type_image', 'asset_area_building', 'asset_area_floorage', 'asset_area_shared', 'asset_json', 'asset_remark', 'asset_extend_json'],
+    ];
+
+    public function isJson($value)
+    {
+        if (is_json($value)) {
+            return true;
+        }
+        return '数据格式错误~';
+    }
+}

+ 0 - 1
app/controller/Curd.php

@@ -74,7 +74,6 @@ class Curd
         } catch (BusinessException $customException) {
             return json_fail($customException->getMessage());
         } catch (\Exception $exception) {
-            dd($exception->getMessage());
             return json_fail('数据写入失败');
         }
         return json_success('success');

+ 18 - 0
app/model/Asset.php

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

+ 12 - 0
route/admin.php

@@ -302,4 +302,16 @@ Route::group('/admin', function () {
             \app\middleware\AdminAuthCheck::class
         ]);
     });
+    /* 资产管理 */
+    Route::group('/asset', function () {
+        /* 户型管理 */
+        Route::group('/houseType',function (){
+            Route::get('/list', [\app\admin\controller\asset\HouseTypeController::class, 'select']);
+            Route::post('/add', [\app\admin\controller\asset\HouseTypeController::class, 'insert']);
+            Route::post('/update', [\app\admin\controller\asset\HouseTypeController::class, 'update']);
+            Route::delete('/delete', [\app\admin\controller\asset\HouseTypeController::class, 'delete']);
+        })->middleware([
+            \app\middleware\AdminAuthCheck::class
+        ]);
+    });
 });

+ 10 - 2
support/helpers.php

@@ -603,9 +603,17 @@ function is_json($string)
     return false;
 }
 
-function chines_week($week)
+/**
+ * @Desc 周几-汉字
+ * @Author Gorden
+ * @Date 2024/3/5 17:29
+ *
+ * @param $week
+ * @return string
+ */
+function chinese_week($week)
 {
     $weekArray = ['日', '一', '二', '三', '四', '五', '六'];
 
     return '周' . $weekArray[$week];
-}
+}