UserController.php 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <?php
  2. namespace app\admin\controller\sys_manage;
  3. use app\admin\service\sys_manage\DeptService;
  4. use app\admin\service\sys_manage\RoleService;
  5. use app\admin\service\sys_manage\UserService;
  6. use app\admin\validate\sys_manage\UserValidate;
  7. use app\model\Member;
  8. use support\Request;
  9. class UserController
  10. {
  11. /**
  12. * @Desc 用户列表
  13. * @Author Gorden
  14. * @Date 2024/2/21 14:46
  15. *
  16. * @param Request $request
  17. * @return \support\Response
  18. */
  19. public function userList(Request $request)
  20. {
  21. return UserService::userList($request);
  22. }
  23. public function selectTeacherList(Request $request)
  24. {
  25. return UserService::selectTeacherList($request);
  26. }
  27. /**
  28. * @Desc 用户详情
  29. * @Author Gorden
  30. * @Date 2024/2/21 14:53
  31. *
  32. * @param $id
  33. * @return \support\Response
  34. */
  35. public function userInfo($id)
  36. {
  37. return UserService::userInfo($id);
  38. }
  39. /**
  40. * @Desc 添加用户
  41. * @Author Gorden
  42. * @Date 2024/2/21 14:53
  43. *
  44. * @param Request $request
  45. * @return \support\Response
  46. */
  47. public function addUser(Request $request)
  48. {
  49. $validate = new UserValidate();
  50. if (!$validate->scene('add')->check($request->post())) {
  51. return json_fail($validate->getError());
  52. }
  53. // 账号是否已存在
  54. if (UserService::checkUserExist($request->post('user_login_name'))) {
  55. return json_fail('账号已存在');
  56. }
  57. // 部门是否存在
  58. if (!empty($request->post('join_user_dept_id')) && !DeptService::checkDeptExist($request->post('join_user_dept_id'))) {
  59. return json_fail('部门不存在');
  60. }
  61. // 角色是否存在
  62. if (!empty($request->post('join_user_role_id')) && !RoleService::checkRoleExist($request->post('join_user_role_id'))) {
  63. return json_fail('角色不存在');
  64. }
  65. return UserService::insertUser($request->post());
  66. }
  67. /**
  68. * @Desc 修改用户
  69. * @Author Gorden
  70. * @Date 2024/2/21 14:07
  71. *
  72. * @param $id
  73. * @param Request $request
  74. * @return \support\Response
  75. */
  76. public function updateUser($id, Request $request)
  77. {
  78. $validate = new UserValidate();
  79. if (!$validate->scene('update')->check($request->post())) {
  80. return json_fail($validate->getError());
  81. }
  82. // 部门是否存在
  83. if (!empty($request->post('join_user_dept_id')) && !DeptService::checkDeptExist($request->post('join_user_dept_id'))) {
  84. return json_fail('部门不存在');
  85. }
  86. // 角色是否存在
  87. if (!empty($request->post('join_user_role_id')) && !RoleService::checkRoleExist($request->post('join_user_role_id'))) {
  88. return json_fail('角色不存在');
  89. }
  90. return UserService::updateUser($id, $request->post());
  91. }
  92. /**
  93. * @Desc 修改用户状态
  94. * @Author Gorden
  95. * @Date 2024/2/21 15:03
  96. *
  97. * @param $id
  98. * @param Request $request
  99. * @return \support\Response
  100. */
  101. public function updateStatus($id, Request $request)
  102. {
  103. $validate = new UserValidate();
  104. if (!$validate->scene('update_status')->check($request->post())) {
  105. return json_fail($validate->getError());
  106. }
  107. return UserService::updateStatus($id, $request->post());
  108. }
  109. public function updatePassword($id, Request $request)
  110. {
  111. return UserService::updatePassword($id, $request->post());
  112. }
  113. /**
  114. * @Desc 删除用户
  115. * @Author Gorden
  116. * @Date 2024/2/21 15:11
  117. *
  118. * @param $id
  119. * @return \support\Response
  120. */
  121. public function delUser(Request $request)
  122. {
  123. return UserService::delUser($request);
  124. }
  125. public function correlationMember(Request $request){
  126. $memberId = $request->post('member_id','');
  127. $userId = $request->post('user_id','');
  128. $permission = $request->post('permission',[]);
  129. if(!$memberId || !$userId){
  130. return json_fail('参数异常');
  131. }
  132. try{
  133. $member = Member::where('member_id',$memberId)->first();
  134. $memberJson = [];
  135. if(!empty($member->member_json)){
  136. $memberJson = json_decode($member->member_json,true);
  137. // if(isset($memberJson['user'])){
  138. // return json_fail('您选择的会员已被绑定,请选择其他会员');
  139. // }
  140. }
  141. $memberJson['user'] = [
  142. 'user_id'=>$userId,
  143. 'permission'=>$permission
  144. ];
  145. $member->member_json = json_encode($memberJson);
  146. $member->save();
  147. return json_success('success');
  148. }catch(\Exception $e){
  149. return json_fail('关联会员失败');
  150. }
  151. }
  152. }