FieldController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. namespace app\admin\controller\sys_manage;
  3. use app\admin\service\sys_manage\FieldService;
  4. use app\admin\validate\sys_manage\FieldValidate;
  5. use app\model\SysField;
  6. use Illuminate\Support\Facades\Schema;
  7. use support\Request;
  8. class FieldController
  9. {
  10. /**
  11. * @Desc 字段列表
  12. * @Author Gorden
  13. * @Date 2024/2/22 14:49
  14. *
  15. * @param Request $request
  16. * @return \support\Response
  17. */
  18. public function fieldList(Request $request)
  19. {
  20. $page = $request->get('page', 1);
  21. $limit = $request->get('limit', 10);
  22. $keywords = $request->get('keywords', '');
  23. return FieldService::fieldList($page, $limit, $keywords);
  24. }
  25. /**
  26. * @Desc 字段详情
  27. * @Author Gorden
  28. * @Date 2024/2/22 14:54
  29. *
  30. * @param $id
  31. * @return \support\Response
  32. */
  33. public function fieldInfo($id)
  34. {
  35. return FieldService::fieldInfo($id);
  36. }
  37. /**
  38. * @Desc 新建字段
  39. * @Author Gorden
  40. * @Date 2024/2/22 14:32
  41. *
  42. * @param Request $request
  43. * @return \support\Response
  44. */
  45. public function addField(Request $request)
  46. {
  47. $validate = new FieldValidate();
  48. if (!$validate->scene('add')->check($request->post())) {
  49. return json_fail($validate->getError());
  50. }
  51. // 验证数据表是否存在
  52. if (!FieldService::checkTableExist($request->post('field_table'))) {
  53. return json_fail('数据表不存在');
  54. }
  55. // 验证字段重复
  56. if (FieldService::checkFieldExist($request->post('field_table'), $request->post('field_column_key'))) {
  57. return json_fail('字段已存在,请勿重复添加');
  58. }
  59. return FieldService::addField($request->post());
  60. }
  61. /**
  62. * @Desc 修改字段
  63. * @Author Gorden
  64. * @Date 2024/2/22 14:41
  65. *
  66. * @param $id
  67. * @param Request $request
  68. * @return \support\Response
  69. */
  70. public function updateField($id, Request $request)
  71. {
  72. $validate = new FieldValidate();
  73. if (!$validate->scene('update')->check($request->post())) {
  74. return json_fail($validate->getError());
  75. }
  76. // 验证数据表是否存在
  77. if (!FieldService::checkTableExist($request->post('field_table'))) {
  78. return json_fail('数据表不存在');
  79. }
  80. return FieldService::updateField($id, $request->post());
  81. }
  82. /**
  83. * @Desc 修改字段状态
  84. * @Author Gorden
  85. * @Date 2024/2/22 15:05
  86. *
  87. * @param $id
  88. * @param Request $request
  89. * @return \support\Response
  90. */
  91. public function updateStatus($id, Request $request)
  92. {
  93. $validate = new FieldValidate();
  94. if (!$validate->scene('update_status')->check($request->post())) {
  95. return json_fail($validate->getError());
  96. }
  97. return FieldService::updateStatus($id, $request->post());
  98. }
  99. /**
  100. * @Desc 删除字段
  101. * @Author Gorden
  102. * @Date 2024/2/22 15:08
  103. *
  104. * @param $id
  105. * @return \support\Response
  106. */
  107. public function delField(Request $request)
  108. {
  109. $fieldId = $request->post('field_id');
  110. return FieldService::delField($fieldId);
  111. }
  112. }