RoleController.php 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. namespace Modules\Manager\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Models\Role;
  5. use Illuminate\Support\Facades\Log;
  6. use Illuminate\Support\Facades\Auth;
  7. use Illuminate\Support\Facades\Validator;
  8. class RoleController extends Controller
  9. {
  10. //
  11. /* 获取角色信息*/
  12. public function getRolesList(){
  13. $list=Role::orderBy('id', 'desc')->get();
  14. if($list){
  15. return $this->success($list);
  16. }
  17. return $this->error();
  18. }
  19. /*添加 角色*/
  20. public function uploadRole(Request $request){
  21. $rules=[
  22. 'name' => 'required|max:32|unique:roles',
  23. 'permissions' => 'required',
  24. ];
  25. $messages=[
  26. 'name.required'=>'角色名称不能为空.',
  27. 'name.max'=>'角色名称不能超过32个字符.',
  28. 'name.unique'=>'角色名称已存在.',
  29. 'permissions.required'=>'请选择角色权限.',
  30. ];
  31. $validator = Validator::make($request->all(),$rules,$messages);
  32. if ($validator->fails()) {
  33. return $this->error('400013',$validator->errors()->first());
  34. }
  35. $result=Role::create([
  36. 'name'=>$request->post('name'),
  37. 'permissions'=>$request->post('permissions'),
  38. 'desc'=>$request->post('desc'),
  39. 'disable'=>0,
  40. ]);
  41. if($result->id){
  42. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')添加('.$request->post('name').')角色成功');
  43. return $this->success([]);
  44. }
  45. return $this->error();
  46. }
  47. /* 角色禁用 */
  48. public function disableRole(Request $request){
  49. $role=Role::find($request->post('id'));
  50. $role->disable=($role->disable==0)?'1':'0';
  51. $row=$role->save();
  52. if($row){
  53. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')禁用了('.$role->name.')角色');
  54. return $this->success([]);
  55. }
  56. return $this->error();
  57. }
  58. /*修改角色*/
  59. public function updateRole(Request $request){
  60. $input=$request->all();
  61. $rules=[
  62. 'name' => 'required|max:32',
  63. 'permissions' => 'required',
  64. ];
  65. $messages=[
  66. 'name.required'=>'角色名称不能为空.',
  67. 'name.max'=>'角色名称不能超过32个字符.',
  68. 'permissions.required'=>'请选择角色权限.',
  69. ];
  70. $validator = Validator::make($input,$rules,$messages);
  71. if ($validator->fails()) {
  72. return $this->error('400013',$validator->errors()->first());
  73. }
  74. $role=Role::where('name',$input['name'])->first();
  75. if($role){
  76. if($role->id!=$input['id']){
  77. return $this->error('400012','角色名称已存在.');
  78. }
  79. }
  80. $roles=Role::find($request->id);
  81. $roles->name=$request->name;
  82. $roles->permissions=$request->permissions;
  83. $roles->desc=$request->desc;
  84. $result=$roles->save();
  85. if($result){
  86. Log::info('管理员:'.Auth::user()->name.'(id='.Auth::user()->id.')修改了('.$role->name.')角色');
  87. return $this->success([]);
  88. }
  89. return $this->error();
  90. }
  91. }