FieldService.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?php
  2. namespace app\admin\service\sys_manage;
  3. use app\model\SysField;
  4. class FieldService
  5. {
  6. /**
  7. * @Desc 字段列表
  8. * @Author Gorden
  9. * @Date 2024/2/22 14:49
  10. *
  11. * @param $page
  12. * @param $limit
  13. * @param $keywords
  14. * @return \support\Response
  15. */
  16. public static function fieldList($page, $limit, $keywords)
  17. {
  18. $list = SysField::select('*')
  19. ->when($keywords != '', function ($query) use ($keywords) {
  20. $query->where('field_name', 'like', '%' . $keywords . '%');
  21. })
  22. ->orderBy('field_addtimes', 'DESC')
  23. ->forPage($page, $limit)
  24. ->get()
  25. ->toArray();
  26. $count = SysField::when($keywords != '', function ($query) use ($keywords) {
  27. $query->where('field_name', 'like', '%' . $keywords . '%');
  28. })->count();
  29. return json_success('', compact('list', 'page', 'limit', 'count'));
  30. }
  31. /**
  32. * @Desc 字段详情
  33. * @Author Gorden
  34. * @Date 2024/2/22 14:55
  35. *
  36. * @param $id
  37. * @return \support\Response
  38. */
  39. public static function fieldInfo($id)
  40. {
  41. $field = SysField::where('field_id', $id)->first();
  42. if (!$field) {
  43. return json_fail('字段不存在');
  44. }
  45. return json_success('', $field->toArray());
  46. }
  47. /**
  48. * @Desc 新建字段
  49. * @Author Gorden
  50. * @Date 2024/2/22 14:31
  51. *
  52. * @param $params
  53. * @return \support\Response
  54. */
  55. public static function addField($params)
  56. {
  57. try {
  58. $data = [
  59. 'field_status' => $params['field_status'],
  60. 'field_category' => $params['field_category'],
  61. 'field_name' => $params['field_name'],
  62. 'field_table' => $params['field_table'],
  63. 'field_column_key' => $params['field_column_key'],
  64. 'field_column_datatype' => $params['field_column_datatype'],
  65. 'field_column_default' => $params['field_column_default'],
  66. 'field_form_key' => $params['field_form_key'],
  67. 'field_form_type' => $params['field_form_type'],
  68. 'field_form_default' => $params['field_form_default'],
  69. 'field_refer_json' => !!empty($params['field_refer_json']) ? $params['field_refer_json'] : '{}',
  70. 'field_remark' => $params['field_remark'],
  71. 'field_extend_json' => !empty($params['field_extend_json']) ? $params['field_extend_json'] : '{}',
  72. 'field_addtimes' => time()
  73. ];
  74. SysField::insert($data);
  75. } catch (\Exception $e) {
  76. return json_fail('创建字段失败');
  77. }
  78. return json_success('创建字段成功');
  79. }
  80. /**
  81. * @Desc 修改字段
  82. * @Author Gorden
  83. * @Date 2024/2/22 14:40
  84. *
  85. * @param $id
  86. * @param $params
  87. * @return \support\Response
  88. */
  89. public static function updateField($id, $params)
  90. {
  91. try {
  92. $data = [
  93. 'field_category' => $params['field_category'],
  94. 'field_name' => $params['field_name'],
  95. 'field_table' => $params['field_table'],
  96. 'field_column_key' => $params['field_column_key'],
  97. 'field_column_datatype' => $params['field_column_datatype'],
  98. 'field_column_default' => $params['field_column_default'],
  99. 'field_form_key' => $params['field_form_key'],
  100. 'field_form_type' => $params['field_form_type'],
  101. 'field_form_default' => $params['field_form_default'],
  102. 'field_refer_json' => !empty($params['field_refer_json']) ? $params['field_refer_json'] : '{}',
  103. 'field_remark' => $params['field_remark'],
  104. 'field_extend_json' => !empty($params['field_extend_json']) ? $params['field_extend_json'] : '{}'
  105. ];
  106. SysField::where('field_id', $id)->update($data);
  107. } catch (\Exception $e) {
  108. return json_fail('修改字段失败');
  109. }
  110. return json_success('修改字段成功');
  111. }
  112. /**
  113. * @Desc 修改字段状态
  114. * @Author Gorden
  115. * @Date 2024/2/22 15:06
  116. *
  117. * @param $id
  118. * @param $params
  119. * @return \support\Response
  120. */
  121. public static function updateStatus($id, $params)
  122. {
  123. try {
  124. SysField::where('field_id', $id)->update(['field_status' => $params['field_status']]);
  125. } catch (\Exception $e) {
  126. return json_fail('字段状态修改失败');
  127. }
  128. return json_success('字段状态修改成功');
  129. }
  130. /**
  131. * @Desc 删除字段
  132. * @Author Gorden
  133. * @Date 2024/2/22 15:08
  134. *
  135. * @param $id
  136. * @return \support\Response
  137. */
  138. public static function delField($id)
  139. {
  140. try {
  141. SysField::where('field_id', $id)->delete();
  142. } catch (\Exception $e) {
  143. return json_fail('字段删除失败');
  144. }
  145. return json_success('字段删除成功');
  146. }
  147. }