Browse Source

[智价云] 表格配置

tangyuanwang 1 month ago
parent
commit
00f40009b4

+ 82 - 0
app/Http/Controllers/Manager/User/TableConfig.php

@@ -0,0 +1,82 @@
+<?php
+
+namespace App\Http\Controllers\Manager\User;
+
+use App\Http\Controllers\Controller;
+use App\Http\Requests\Manager\User\TableConfig as Request;
+use App\Models\Manager\User\TableConfig as TableConfigModel;
+
+/**
+ * 用户表格配置控制器
+ * @author: 唐远望
+ * @version: 1.0
+ * @date: 2026-04-01
+ */
+class TableConfig extends Controller
+{
+    /**
+     * 编辑
+     * @author: 唐远望
+     * @version: 1.0
+     * @date: 2026-04-01
+     */
+    public function edit(Request $Request, TableConfigModel $TableConfigModel)
+    {
+        // 验证规则
+        $Request->scene('edit')->validate();
+        $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
+        $user_id = request('access_token.uid', 0);
+        // 接收数据
+        $data_config = request('data_config', '');
+        $table_name = request('table_name', '');
+        $data['is_admin']                        = $is_admin;
+        $data['table_name']                        = $table_name;
+        $data['data_config']                = trim($data_config) != '' ? json_encode($data_config) : '';
+        $data['user_id']                    = $user_id;
+        $data['insert_time']                    = time();
+        try {
+            // 查询用户
+            $config_data                            = $TableConfigModel->where([['is_admin', '=', $is_admin], ['user_id', '=', $user_id]])->first();
+            // 存在的话
+            if ($config_data) {
+                // 更新数据
+                $config_data->data_config = $data['data_config'];
+                $config_data->update_time = time();
+                $config_data->save();
+            } else {
+                //写入数据
+                $TableConfigModel->insert($data);
+            }
+        } catch (\Exception $e) {
+            return json_send(['code' => 'error', 'msg' => '操作失败', 'data' => $e->getMessage()]);
+        }
+        // 记录行为
+        $admin_id   = request('access_token.uid', 0); //用户ID
+        $table_name = $TableConfigModel->getTable();
+        $notes_type = 1; //操作类型,1添加,2修改,3=删除
+        $this->addAdminHistory('官网留言管理', 0, $admin_id, $is_admin, $table_name, $notes_type, [], $data, '新增了留言');
+        // 返回结果
+        return json_send(['code' => 'success', 'msg' => '操作成功', 'data' => '']);
+    }
+
+    /**
+     * 获取表格配置详情
+     * @author: 唐远望
+     * @version: 1.0
+     * @date: 2026-04-01
+     */
+    public function detail(Request $Request, TableConfigModel $TableConfigModel)
+    {
+        // 验证规则
+        $Request->scene('detail')->validate();
+        $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
+        $user_id = request('access_token.uid', 0);
+        $table_name = request('table_name', '');
+        // 查询数据
+        $config_data = $TableConfigModel->where([['is_admin', '=', $is_admin], ['user_id', '=', $user_id], ['table_name', '=', $table_name]])->first();
+        if (!$config_data)  return json_send(['code' => 'success', 'msg' => '暂无数据', 'data' => '']);
+        $config_data['data_config'] = json_decode($config_data->data_config, true);
+        // 返回结果
+        return json_send(['code' => 'success', 'msg' => '查询成功', 'data' => $config_data]);
+    }
+}

+ 78 - 0
app/Http/Requests/Manager/User/TableConfig.php

@@ -0,0 +1,78 @@
+<?php
+
+namespace App\Http\Requests\Manager\User;
+
+use App\Http\Requests\BaseRequest;
+
+/**
+ * 官网表格配置-接口验证
+ * @author 唐远望
+ * @version 1.0
+ * @date 2026-04-01
+ * 
+ */
+class TableConfig extends BaseRequest
+{
+    /**
+     * 获取应用于请求的规则
+     *
+     * @return array
+     */
+    public function rules()
+    {
+        // 返回结果
+        return      [
+            'name'                 => 'required',
+            'id'                => 'required|integer|gt:0',
+            'status'            => 'required|integer|in:0,1',
+            'page'              => 'integer|min:1',
+            'limit'             => 'integer|min:1',
+            'phone'             => 'required|regex:/^1[34578]\d{9}$/|unique:website_lead_message,phone',
+            'company_name'      => 'required',
+            'position'          => 'required',
+            'remarks'           => 'required',
+            'data_config'       => 'required',
+            'table_name'        => 'required',
+        ];
+    }
+
+
+    // 场景列表
+    protected   $scenes         = [
+        'detail'             => ['id'],
+        'list'               => ['page', 'limit'],
+        'add'                      => [''],
+        'edit'                  => ['data_config', 'table_name'],
+        'detail'                  => ['table_name'],
+    ];
+
+    /**
+     * 获取已定义验证规则的错误消息
+     *
+     * @return array
+     */
+    public function messages()
+    {
+        return [
+            'name.required'     => '公司分类名称必填',
+            'id.required'       => 'ID未知',
+            'id.integer'        => 'ID格式错误',
+            'id.gt'               => 'ID格式错误',
+            'status.required'   => '状态未知',
+            'status.integer'    => '状态格式错误',
+            'status.in'         => '状态格式错误',
+            'page.integer'      => '页码格式错误',
+            'page.min'          => '页码格式错误',
+            'limit.integer'     => '每页数量格式错误',
+            'limit.min'         => '每页数量格式错误',
+            'phone.required'    => '手机号码必填',
+            'phone.regex'       => '手机号码格式错误',
+            'phone.unique'      => '手机号码已存在',
+            'company_name.required' => '公司名称必填',
+            'position.required' => '职位必填',
+            'remarks.required'  => '留言内容必填',
+            'data_config.required'  => '表格配置必填',
+            'table_name.required'  => '表名必填',
+        ];
+    }
+}

+ 24 - 0
app/Models/Manager/User/TableConfig.php

@@ -0,0 +1,24 @@
+<?php
+
+namespace App\Models\Manager\User;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+/**
+ * 用户表格配置模型
+ * @author: 唐远望
+ * @version: 1.0
+ * @date: 2026-04-01
+ */
+class TableConfig extends Model
+{
+    use HasFactory;
+    // 与模型关联的表名
+    protected $table = 'user_table_config';
+    // 是否主动维护时间戳
+    public $timestamps = false;
+    // 定义时间戳字段名
+    // const CREATED_AT = 'insert_time';
+    // const UPDATED_AT = 'update_time';
+}

+ 6 - 1
routes/manager.php

@@ -394,4 +394,9 @@ Route::any('statistics/basic_panel/get_violation_product_spec_count', [App\Http\
 // 潜在客户留言-列表
 Route::any('website/lead_message/list', [App\Http\Controllers\Manager\Website\LeadMessage::class, 'list']);
 // 潜在客户留言-修改状态
-Route::any('website/lead_message/set_status', [App\Http\Controllers\Manager\Website\LeadMessage::class,'set_status']);
+Route::any('website/lead_message/set_status', [App\Http\Controllers\Manager\Website\LeadMessage::class,'set_status']);
+
+//表格配置-编辑
+Route::any('user/table_config/edit', [App\Http\Controllers\Manager\User\TableConfig::class, 'edit']);
+//表格配置-详情
+Route::any('user/table_config/detail', [App\Http\Controllers\Manager\User\TableConfig::class, 'detail']);