SystemConfigController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | saiadmin [ saiadmin快速开发框架 ]
  4. // +----------------------------------------------------------------------
  5. // | Author: sai <1430792918@qq.com>
  6. // +----------------------------------------------------------------------
  7. namespace plugin\saiadmin\app\controller\system;
  8. use plugin\saiadmin\app\cache\ConfigCache;
  9. use plugin\saiadmin\basic\BaseController;
  10. use plugin\saiadmin\app\logic\system\SystemConfigLogic;
  11. use plugin\saiadmin\app\logic\system\SystemConfigGroupLogic;
  12. use plugin\saiadmin\app\validate\system\SystemConfigValidate;
  13. use plugin\saiadmin\service\Permission;
  14. use support\Request;
  15. use support\Response;
  16. /**
  17. * 配置项数据控制器
  18. */
  19. class SystemConfigController extends BaseController
  20. {
  21. /**
  22. * 构造
  23. */
  24. public function __construct()
  25. {
  26. $this->logic = new SystemConfigLogic();
  27. $this->validate = new SystemConfigValidate;
  28. parent::__construct();
  29. }
  30. /**
  31. * 数据列表
  32. * @param Request $request
  33. * @return Response
  34. */
  35. #[Permission('系统设置列表', 'core:config:index')]
  36. public function index(Request $request): Response
  37. {
  38. $where = $request->more([
  39. ['group_id', ''],
  40. ['name', ''],
  41. ['key', ''],
  42. ]);
  43. $this->logic->setOrderField('sort');
  44. $this->logic->setOrderType('desc');
  45. $query = $this->logic->search($where);
  46. $data = $this->logic->getList($query);
  47. return $this->success($data);
  48. }
  49. /**
  50. * 保存数据
  51. * @param Request $request
  52. * @return Response
  53. */
  54. #[Permission('系统设置管理', 'core:config:edit')]
  55. public function save(Request $request): Response
  56. {
  57. $data = $request->post();
  58. $this->validate('save', $data);
  59. $result = $this->logic->add($data);
  60. if ($result) {
  61. return $this->success('添加成功');
  62. } else {
  63. return $this->fail('添加失败');
  64. }
  65. }
  66. /**
  67. * 更新数据
  68. * @param Request $request
  69. * @return Response
  70. */
  71. #[Permission('系统设置管理', 'core:config:edit')]
  72. public function update(Request $request): Response
  73. {
  74. $data = $request->post();
  75. $this->validate('update', $data);
  76. $result = $this->logic->edit($data['id'], $data);
  77. if ($result) {
  78. return $this->success('修改成功');
  79. } else {
  80. return $this->fail('修改失败');
  81. }
  82. }
  83. /**
  84. * 删除数据
  85. * @param Request $request
  86. * @return Response
  87. */
  88. #[Permission('系统设置管理', 'core:config:edit')]
  89. public function destroy(Request $request): Response
  90. {
  91. $ids = $request->post('ids', '');
  92. if (empty($ids)) {
  93. return $this->fail('请选择要删除的数据');
  94. }
  95. $result = $this->logic->destroy($ids);
  96. if ($result) {
  97. return $this->success('删除成功');
  98. } else {
  99. return $this->fail('删除失败');
  100. }
  101. }
  102. /**
  103. * 修改配置内容
  104. * @param Request $request
  105. * @return Response
  106. */
  107. #[Permission('系统设置修改', 'core:config:update')]
  108. public function batchUpdate(Request $request): Response
  109. {
  110. $group_id = $request->post('group_id');
  111. $config = $request->post('config');
  112. if (empty($group_id) || empty($config)) {
  113. return $this->fail('参数错误');
  114. }
  115. $this->logic->batchUpdate($group_id, $config);
  116. return $this->success('操作成功');
  117. }
  118. }