RoleService.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php
  2. namespace app\admin\service\role;
  3. use app\model\SysRole;
  4. use support\Db;
  5. class RoleService
  6. {
  7. /**
  8. * @Desc 角色列表
  9. * @Author Gorden
  10. * @Date 2024/2/20 16:29
  11. *
  12. * @param $page
  13. * @param $limit
  14. * @param $keyword
  15. * @return \support\Response
  16. */
  17. public static function roleList($page, $limit, $keyword)
  18. {
  19. $list = SysRole::select('*')
  20. ->when($keyword != '', function ($query) use ($keyword) {
  21. $query->where('role_name', 'like', '%' . $keyword . '%');
  22. })
  23. ->orderBy('role_addtimes', 'DESC')
  24. ->forPage($page, $limit)
  25. ->get()
  26. ->toArray();
  27. $count = SysRole::when($keyword != '', function ($query) use ($keyword) {
  28. $query->where('role_name', 'like', '%' . $keyword . '%');
  29. })->count();
  30. return json_success('', compact('list', 'page', 'limit', 'count'));
  31. }
  32. /**
  33. * @Desc 角色详情
  34. * @Author Gorden
  35. * @Date 2024/2/20 16:37
  36. *
  37. * @param $id
  38. * @return \support\Response
  39. */
  40. public static function roleInfo($id)
  41. {
  42. $role = SysRole::find($id);
  43. if (!$role) {
  44. return json_fail('角色不存在');
  45. }
  46. $role = $role->toArray();
  47. return json_success('', $role);
  48. }
  49. /**
  50. * @Desc 添加角色
  51. * @Author Gorden
  52. * @Date 2024/2/20 16:02
  53. *
  54. * @param $params
  55. * @return \support\Response
  56. */
  57. public static function insertRole($params)
  58. {
  59. try {
  60. $data = [
  61. 'role_status' => $params['role_status'],
  62. 'role_category' => $params['role_category'],
  63. 'role_name' => $params['role_name'],
  64. 'role_remark' => $params['role_remark'] ? format_string($params['role_remark']) : null,
  65. 'role_extend_json' => $params['role_extend_json'] ?? null,
  66. 'role_addtimes' => time()
  67. ];
  68. // 入库
  69. SysRole::insert($data);
  70. } catch (\Exception $e) {
  71. return json_fail('角色添加失败');
  72. }
  73. return json_success('角色添加成功');
  74. }
  75. /**
  76. * @Desc 修改角色
  77. * @Author Gorden
  78. * @Date 2024/2/20 16:02
  79. *
  80. * @param $id
  81. * @param $params
  82. * @return \support\Response
  83. */
  84. public static function updateRole($id, $params)
  85. {
  86. $role = SysRole::find($id);
  87. if (!$role) {
  88. return json_fail('角色不存在');
  89. }
  90. try {
  91. $data = [
  92. 'role_status' => $params['role_status'],
  93. 'role_category' => $params['role_category'],
  94. 'role_name' => $params['role_name'],
  95. 'role_remark' => $params['role_remark'] ? format_string($params['role_remark']) : null,
  96. 'role_extend_json' => $params['role_extend_json'],
  97. ];
  98. SysRole::where('role_id', $id)->update($data);
  99. } catch (\Exception $e) {
  100. dd($e->getMessage());
  101. return json_fail('角色修改失败');
  102. }
  103. return json_success('角色修改成功');
  104. }
  105. /**
  106. * @Desc 删除角色
  107. * @Author Gorden
  108. * @Date 2024/2/20 16:40
  109. *
  110. * @param $id
  111. * @return \support\Response
  112. */
  113. public static function delRole($id)
  114. {
  115. try {
  116. SysRole::where('role_id', $id)->delete();
  117. } catch (\Exception $e) {
  118. return json_fail('角色删除失败');
  119. }
  120. return json_success('角色删除成功');
  121. }
  122. /**
  123. * @Desc 修改角色状态
  124. * @Author Gorden
  125. * @Date 2024/2/20 16:50
  126. *
  127. * @param $id
  128. * @param $roleStatus
  129. * @return \support\Response
  130. */
  131. public static function updateStatus($id, $roleStatus)
  132. {
  133. try {
  134. SysRole::where('role_id', $id)->update(['role_status' => $roleStatus]);
  135. } catch (\Exception $e) {
  136. dd($e->getMessage());
  137. return json_fail('角色状态修改失败');
  138. }
  139. return json_success('角色状态修改成功');
  140. }
  141. }