Browse Source

运费模板管理

gorden 1 year ago
parent
commit
24b125a29d

+ 68 - 0
app/admin/controller/sys_manage/PostageTemplateController.php

@@ -0,0 +1,68 @@
+<?php
+
+namespace app\admin\controller\sys_manage;
+
+use app\admin\validate\sys_manage\PostageTemplateValidate;
+use app\controller\Curd;
+use app\model\PostageTemplate;
+use support\Request;
+use support\Response;
+
+class PostageTemplateController extends Curd
+{
+    public function __construct()
+    {
+        $this->model = new PostageTemplate();
+        $this->validate = true;
+        $this->validateClass = new PostageTemplateValidate();
+    }
+
+    /**
+     * @Desc 列表
+     * @Author Gorden
+     * @Date 2024/2/29 11:35
+     *
+     * @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 ?? 'postage_addTime';
+        $where['postage_is_del'] = 0;
+        $query = $this->doSelect($where, $field, $order);
+        return $this->doFormat($query, $format, $limit);
+    }
+
+    /**
+     * @Desc 删除
+     * @Author Gorden
+     * @Date 2024/2/29 11:36
+     *
+     * @param Request $request
+     * @return Response
+     * @throws \support\exception\BusinessException
+     */
+    public function delete(Request $request): Response
+    {
+        $ids = $this->deleteInput($request);
+        $this->doSoftDelete($ids, ['postage_is_del' => 1]);
+
+        return json_success('success');
+    }
+
+    /**
+     * @Desc 修改状态
+     * @Author Gorden
+     * @Date 2024/2/29 11:36
+     *
+     * @param Request $request
+     * @return Response
+     */
+    public function updateStatus(Request $request)
+    {
+        return $this->updateField($request->post('postage_id'), 'postage_status', $request->post('postage_status'));
+    }
+}

+ 26 - 0
app/admin/validate/sys_manage/PostageTemplateValidate.php

@@ -0,0 +1,26 @@
+<?php
+
+namespace app\admin\validate\sys_manage;
+
+use think\Validate;
+
+class PostageTemplateValidate extends Validate
+{
+    protected $rule = [
+        'postage_id' => 'require|integer',
+        'postage_name' => 'require|regex:/^[\x{4e00}-\x{9fa5}a-zA-Z0-9\_\-\s]+$/u',
+        'postage_type' => 'require|in:1,2',
+        'postage_first_weight' => 'require|float',
+        'postage_first_price' => 'require|float',
+        'postage_extend_weight' => 'require|float',
+        'postage_extend_price' => 'require|float',
+        'postage_status' => 'in:1,2',
+    ];
+
+    protected $message = [];
+
+    protected $scene = [
+        'add' => ['postage_name', 'postage_type', 'postage_first_weight', 'postage_first_price', 'postage_extend_weight', 'postage_extend_price', 'postage_status'],
+        'update' => ['postage_id', 'postage_name', 'postage_type', 'postage_first_weight', 'postage_first_price', 'postage_extend_weight', 'postage_extend_price', 'postage_status'],
+    ];
+}

+ 22 - 0
app/model/PostageTemplate.php

@@ -0,0 +1,22 @@
+<?php
+
+namespace app\model;
+
+use Illuminate\Database\Eloquent\SoftDeletes;
+use support\Model;
+
+/**
+ * 运费模板
+ */
+class PostageTemplate extends Model
+{
+    protected $table = 'sys_template_postage';
+
+    protected $primaryKey = 'postage_id';
+
+    protected $dateFormat = 'U';
+
+    public const CREATED_AT = 'postage_addTime';
+
+    public const UPDATED_AT = 'postage_updateTime';
+}

+ 8 - 0
route/admin.php

@@ -88,6 +88,14 @@ Route::group('/admin', function () {
             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::group('/postageTemplate', function () {
+            Route::get('/list', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'select']);
+            Route::post('/add', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'insert']);
+            Route::post('/update', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'update']);
+            Route::post('/updateStatus', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'updateStatus']);
+            Route::delete('/delete', [\app\admin\controller\sys_manage\PostageTemplateController::class, 'delete']);
+        });
     });
 
     /* 业务支撑 */