RoleService.php 4.6 KB

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