RoleService.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  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, $keywords)
  18. {
  19. $list = SysRole::select('*')
  20. ->when($keywords != '', function ($query) use ($keywords) {
  21. $query->where('role_name', 'like', '%' . $keywords . '%');
  22. })
  23. ->orderBy('role_addtimes', 'DESC')
  24. ->forPage($page, $limit)
  25. ->get()
  26. ->toArray();
  27. $count = SysRole::when($keywords != '', function ($query) use ($keywords) {
  28. $query->where('role_name', 'like', '%' . $keywords . '%');
  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. if (!SysRole::insert($data)) {
  70. throw new \Exception('角色添加失败');
  71. }
  72. } catch (\Exception $e) {
  73. return json_fail('角色添加失败');
  74. }
  75. return json_success('角色添加成功');
  76. }
  77. /**
  78. * @Desc 修改角色
  79. * @Author Gorden
  80. * @Date 2024/2/20 16:02
  81. *
  82. * @param $id
  83. * @param $params
  84. * @return \support\Response
  85. */
  86. public static function updateRole($id, $params)
  87. {
  88. $role = SysRole::find($id);
  89. if (!$role) {
  90. return json_fail('角色不存在');
  91. }
  92. try {
  93. $data = [
  94. 'role_status' => $params['role_status'],
  95. 'role_category' => $params['role_category'],
  96. 'role_name' => $params['role_name'],
  97. 'role_remark' => $params['role_remark'] ? format_string($params['role_remark']) : null,
  98. 'role_extend_json' => $params['role_extend_json'],
  99. ];
  100. if (!SysRole::where('role_id', $id)->update($data)) {
  101. throw new \Exception('角色修改失败');
  102. }
  103. } catch (\Exception $e) {
  104. return json_fail('角色修改失败');
  105. }
  106. return json_success('角色修改成功');
  107. }
  108. /**
  109. * @Desc 删除角色
  110. * @Author Gorden
  111. * @Date 2024/2/20 16:40
  112. *
  113. * @param $id
  114. * @return \support\Response
  115. */
  116. public static function delRole($id)
  117. {
  118. try {
  119. if (!SysRole::where('role_id', $id)->delete()) {
  120. throw new \Exception('角色删除失败');
  121. }
  122. } catch (\Exception $e) {
  123. return json_fail('角色删除失败');
  124. }
  125. return json_success('角色删除成功');
  126. }
  127. /**
  128. * @Desc 修改角色状态
  129. * @Author Gorden
  130. * @Date 2024/2/20 16:50
  131. *
  132. * @param $id
  133. * @param $roleStatus
  134. * @return \support\Response
  135. */
  136. public static function updateStatus($id, $roleStatus)
  137. {
  138. try {
  139. if (!SysRole::where('role_id', $id)->update(['role_status' => $roleStatus])) {
  140. throw new \Exception('角色状态修改失败');
  141. }
  142. } catch (\Exception $e) {
  143. return json_fail('角色状态修改失败');
  144. }
  145. return json_success('角色状态修改成功');
  146. }
  147. /**
  148. * @Desc 检查角色是否存在
  149. * @Author Gorden
  150. * @Date 2024/2/21 13:36
  151. *
  152. * @param $roleId
  153. * @return bool
  154. */
  155. public static function checkRoleExist($roleId)
  156. {
  157. return SysRole::where('role_id', $roleId)->exists();
  158. }
  159. }