UserService.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <?php
  2. namespace app\admin\service\sys_manage;
  3. use app\model\SysUser;
  4. class UserService
  5. {
  6. /**
  7. * @Desc 用户列表
  8. * @Author Gorden
  9. * @Date 2024/2/21 14:46
  10. *
  11. * @param $page
  12. * @param $limit
  13. * @param $keywords
  14. * @return \support\Response
  15. */
  16. public static function userList($page, $limit, $keywords)
  17. {
  18. $list = SysUser::select('join_user_role_id', 'join_user_dept_id', 'user_status', 'user_category', 'user_name', 'user_login_name', 'user_mobile', 'user_remark', 'user_extend_json', 'user_addtimes')
  19. ->when($keywords != '', function ($query) use ($keywords) {
  20. $query->where('user_name', 'like', '%' . $keywords . '%');
  21. })
  22. ->orderBy('user_addtimes', 'DESC')
  23. ->forPage($page, $limit)
  24. ->get()
  25. ->toArray();
  26. $count = SysUser::when($keywords != '', function ($query) use ($keywords) {
  27. $query->where('user_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/21 14:52
  35. *
  36. * @param $id
  37. * @return \support\Response
  38. */
  39. public static function userInfo($id)
  40. {
  41. $user = SysUser::select('join_user_role_id', 'join_user_dept_id', 'user_status', 'user_category', 'user_name', 'user_login_name', 'user_mobile', 'user_remark', 'user_extend_json', 'user_addtimes')
  42. ->where('user_id', $id)
  43. ->first();
  44. if (!$user) {
  45. return json_fail('用户不存在');
  46. }
  47. return json_success('', $user->toArray());
  48. }
  49. /**
  50. * @Desc 添加用户
  51. * @Author Gorden
  52. * @Date 2024/2/21 13:50
  53. *
  54. * @param $params
  55. * @return \support\Response
  56. */
  57. public static function insertUser($params)
  58. {
  59. try {
  60. $data = [
  61. 'user_id' => self::generateUserId(),
  62. 'join_user_role_id' => $params['join_user_role_id'],
  63. 'join_user_dept_id' => $params['join_user_dept_id'],
  64. 'user_status' => $params['user_status'],
  65. 'user_category' => $params['user_category'],
  66. 'user_name' => $params['user_name'],
  67. 'user_login_name' => $params['user_login_name'],
  68. 'user_login_pass' => md5(sha1($params['user_login_pass'])),
  69. 'user_mobile' => $params['user_mobile'],
  70. 'user_remark' => $params['user_remark'],
  71. 'user_extend_json' => !empty($params['user_extend_json']) ? $params['user_extend_json'] : '{}',
  72. 'user_addtimes' => time()
  73. ];
  74. if (!SysUser::insert($data)) {
  75. throw new \Exception('添加用户失败');
  76. }
  77. } catch (\Exception $e) {
  78. return json_fail('添加用户失败');
  79. }
  80. return json_success('添加用户成功');
  81. }
  82. /**
  83. * @Desc 修改用户
  84. * @Author Gorden
  85. * @Date 2024/2/21 14:06
  86. *
  87. * @param $id
  88. * @param $params
  89. * @return \support\Response
  90. */
  91. public static function updateUser($id, $params)
  92. {
  93. try {
  94. $data = [
  95. 'join_user_role_id' => $params['join_user_role_id'],
  96. 'join_user_dept_id' => $params['join_user_dept_id'],
  97. 'user_status' => $params['user_status'],
  98. 'user_category' => $params['user_category'],
  99. 'user_name' => $params['user_name'],
  100. 'user_remark' => $params['user_remark'],
  101. 'user_extend_json' => !empty($params['user_extend_json']) ? $params['user_extend_json'] : '{}'
  102. ];
  103. // 密码变动
  104. if (!empty($params['user_login_pass'])) {
  105. $data['user_login_pass'] = md5(sha1($params['user_login_pass']));
  106. }
  107. if (!SysUser::where('user_id', $id)->update($data)) {
  108. throw new \Exception('修改用户失败');
  109. }
  110. } catch (\Exception $e) {
  111. dd($e->getMessage());
  112. return json_fail('修改用户失败');
  113. }
  114. return json_success('修改用户成功');
  115. }
  116. /**
  117. * @Desc 修改用户状态
  118. * @Author Gorden
  119. * @Date 2024/2/21 15:03
  120. *
  121. * @param $id
  122. * @param $params
  123. * @return \support\Response
  124. */
  125. public static function updateStatus($id, $params)
  126. {
  127. try {
  128. if (!SysUser::where('user_id', $id)->update(['user_status' => $params['user_status']])) {
  129. throw new \Exception('用户状态修改失败');
  130. }
  131. } catch (\Exception $e) {
  132. return json_fail('用户状态修改失败');
  133. }
  134. return json_success('用户状态修改成功');
  135. }
  136. /**
  137. * @Desc 删除用户
  138. * @Author Gorden
  139. * @Date 2024/2/21 15:11
  140. *
  141. * @param $id
  142. * @return \support\Response
  143. */
  144. public static function delUser($id)
  145. {
  146. try {
  147. if (!SysUser::where('user_id', $id)->delete()) {
  148. throw new \Exception('删除用户失败');
  149. }
  150. } catch (\Exception $e) {
  151. return json_fail('删除用户失败');
  152. }
  153. return json_success('删除用户成功');
  154. }
  155. public static function checkUserExist($account)
  156. {
  157. return SysUser::where('user_login_name', $account)->exists();
  158. }
  159. public static function generateUserId()
  160. {
  161. $random = random_string(8);
  162. return 'UR' . date('YmdHis') . $random;
  163. }
  164. }