Ver Fonte

康旅路线排期管理

gorden há 1 ano atrás
pai
commit
571f90dcc8

+ 97 - 0
app/admin/controller/life/TravelSchedulingController.php

@@ -0,0 +1,97 @@
+<?php
+
+namespace app\admin\controller\life;
+
+use support\exception\BusinessException;
+use support\Request;
+use app\admin\validate\life\TravelSchedulingValidate;
+use app\controller\Curd;
+use app\model\TravelScheduling;
+use support\Response;
+
+class TravelSchedulingController extends Curd
+{
+    public function __construct()
+    {
+        $this->model = new TravelScheduling();
+        $this->validate = true;
+        $this->validateClass = new TravelSchedulingValidate();
+    }
+
+    /**
+     * @Desc 列表
+     * @Author Gorden
+     * @Date 2024/3/5 14:20
+     *
+     * @param Request $request
+     * @return Response
+     * @throws BusinessException
+     */
+    public function select(Request $request): Response
+    {
+        [$where, $format, $limit, $field, $order] = $this->selectInput($request);
+        $order = $request->get('order', 'desc');
+        $field = $field ?? 'line_add_time';
+        $where['line_is_del'] = 0;
+        $query = $this->doSelect($where, $field, $order);
+        return $this->doFormat($query, $format, $limit);
+    }
+
+    /**
+     * @Desc 过滤插入参数
+     * @Author Gorden
+     * @Date 2024/3/5 14:14
+     *
+     * @param Request $request
+     * @return array
+     * @throws \support\exception\BusinessException
+     */
+    protected function insertInput(Request $request): array
+    {
+        $data = $this->inputFilter($request->post());
+        $data['week'] = chines_week(date('w',strtotime($data['day'])));
+
+        return $data;
+    }
+
+    /**
+     * @Desc 过滤更新参数
+     * @Author Gorden
+     * @Date 2024/3/5 14:15
+     *
+     * @param Request $request
+     * @return array
+     * @throws BusinessException
+     */
+    protected function updateInput(Request $request): array
+    {
+        $primary_key = $this->model->getKeyName();
+        $id = $request->post($primary_key);
+        $data = $this->inputFilter($request->post());
+        $data['week'] = chines_week(date('w',strtotime($data['day'])));
+        $model = $this->model->find($id);
+        if (!$model) {
+            throw new BusinessException('记录不存在', 2);
+        }
+
+        unset($data[$primary_key]);
+        return [$id, $data];
+    }
+
+    /**
+     * @Desc 删除
+     * @Author Gorden
+     * @Date 2024/3/5 14:18
+     *
+     * @param Request $request
+     * @return Response
+     * @throws BusinessException
+     */
+    public function delete(Request $request): Response
+    {
+        $ids = $this->deleteInput($request);
+        $this->doSoftDelete($ids, ['is_del' => 1]);
+
+        return json_success('success');
+    }
+}

+ 23 - 0
app/admin/validate/life/TravelSchedulingValidate.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace app\admin\validate\life;
+
+use think\Validate;
+
+class TravelSchedulingValidate extends Validate
+{
+    protected $rule = [
+        'id' => 'require|integer',
+        'line_id' => 'require|integer',
+        'price' => 'require|float',
+        'original_price' => 'require|float',
+        'day' => 'require|date'
+    ];
+
+    protected $message = [];
+
+    protected $scene = [
+        'add' => ['line_id', 'price', 'original_price', 'day'],
+        'update' => ['id', 'line_id', 'price', 'original_price', 'day']
+    ];
+}

+ 1 - 0
app/controller/Curd.php

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

+ 16 - 0
app/model/TravelScheduling.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace app\model;
+
+use support\Model;
+
+class TravelScheduling extends Model
+{
+    protected $table = 'travel_scheduling';
+
+    protected $dateFormat = 'U';
+
+    const CREATED_AT = 'create_time';
+
+    const UPDATED_AT = 'update_time';
+}

+ 9 - 0
route/admin.php

@@ -217,6 +217,15 @@ Route::group('/admin', function () {
         })->middleware([
             \app\middleware\AdminAuthCheck::class
         ]);
+        /* 康旅排期管理 */
+        Route::group('/travelScheduling', function () {
+            Route::get('/list', [\app\admin\controller\life\TravelSchedulingController::class, 'select']);
+            Route::post('/add', [\app\admin\controller\life\TravelSchedulingController::class, 'insert']);
+            Route::post('/update', [\app\admin\controller\life\TravelSchedulingController::class, 'update']);
+            Route::delete('/delete', [\app\admin\controller\life\TravelSchedulingController::class, 'delete']);
+        })->middleware([
+            \app\middleware\AdminAuthCheck::class
+        ]);
     });
     /* 医疗 */
     Route::group('/medical', function () {

+ 7 - 0
support/helpers.php

@@ -602,3 +602,10 @@ function is_json($string)
     }
     return false;
 }
+
+function chines_week($week)
+{
+    $weekArray = ['日', '一', '二', '三', '四', '五', '六'];
+
+    return '周' . $weekArray[$week];
+}