TableConfig.php 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace App\Http\Controllers\Manager\User;
  3. use App\Http\Controllers\Controller;
  4. use App\Http\Requests\Manager\User\TableConfig as Request;
  5. use App\Models\Manager\User\TableConfig as TableConfigModel;
  6. /**
  7. * 用户表格配置控制器
  8. * @author: 唐远望
  9. * @version: 1.0
  10. * @date: 2026-04-01
  11. */
  12. class TableConfig extends Controller
  13. {
  14. /**
  15. * 编辑
  16. * @author: 唐远望
  17. * @version: 1.0
  18. * @date: 2026-04-01
  19. */
  20. public function edit(Request $Request, TableConfigModel $TableConfigModel)
  21. {
  22. // 验证规则
  23. $Request->scene('edit')->validate();
  24. $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
  25. $user_id = request('access_token.uid', 0);
  26. // 接收数据
  27. $data_config = request('data_config', '');
  28. $table_name = request('table_name', '');
  29. $data['is_admin'] = $is_admin;
  30. $data['table_name'] = $table_name;
  31. $data['data_config'] = trim($data_config) != '' ? json_encode($data_config) : '';
  32. $data['user_id'] = $user_id;
  33. $data['insert_time'] = time();
  34. try {
  35. // 查询用户
  36. $config_data = $TableConfigModel->where([['is_admin', '=', $is_admin], ['user_id', '=', $user_id]])->first();
  37. // 存在的话
  38. if ($config_data) {
  39. // 更新数据
  40. $config_data->data_config = $data['data_config'];
  41. $config_data->update_time = time();
  42. $config_data->save();
  43. } else {
  44. //写入数据
  45. $TableConfigModel->insert($data);
  46. }
  47. } catch (\Exception $e) {
  48. return json_send(['code' => 'error', 'msg' => '操作失败', 'data' => $e->getMessage()]);
  49. }
  50. // 记录行为
  51. $admin_id = request('access_token.uid', 0); //用户ID
  52. $table_name = $TableConfigModel->getTable();
  53. $notes_type = 1; //操作类型,1添加,2修改,3=删除
  54. $this->addAdminHistory('用户表格管理', 0, $admin_id, $is_admin, $table_name, $notes_type, [], $data, '修改了表格配置');
  55. // 返回结果
  56. return json_send(['code' => 'success', 'msg' => '操作成功', 'data' => '']);
  57. }
  58. /**
  59. * 获取表格配置详情
  60. * @author: 唐远望
  61. * @version: 1.0
  62. * @date: 2026-04-01
  63. */
  64. public function detail(Request $Request, TableConfigModel $TableConfigModel)
  65. {
  66. // 验证规则
  67. $Request->scene('detail')->validate();
  68. $is_admin = request('access_token.is_admin', '0'); //是否管理员操作 0=是1=否
  69. $user_id = request('access_token.uid', 0);
  70. $table_name = request('table_name', '');
  71. // 查询数据
  72. $config_data = $TableConfigModel->where([['is_admin', '=', $is_admin], ['user_id', '=', $user_id], ['table_name', '=', $table_name]])->first();
  73. if (!$config_data) return json_send(['code' => 'success', 'msg' => '暂无数据', 'data' => '']);
  74. $config_data['data_config'] = json_decode($config_data->data_config, true);
  75. // 返回结果
  76. return json_send(['code' => 'success', 'msg' => '查询成功', 'data' => $config_data]);
  77. }
  78. }