UserService.php 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <?php
  2. namespace app\admin\service\sys_manage;
  3. use app\model\SysUser;
  4. use support\Db;
  5. use support\Request;
  6. class UserService
  7. {
  8. /**
  9. * @Desc 用户列表
  10. * @Author Gorden
  11. * @Date 2024/2/21 14:46
  12. *
  13. * @param $page
  14. * @param $limit
  15. * @param $keywords
  16. * @return \support\Response
  17. */
  18. public static function userList(Request $request)
  19. {
  20. $page = $request->get('page', 1);
  21. $pageSize = $request->get('pageSize', 10);
  22. $username = $request->get('username', '');
  23. $rows = SysUser::select('join_user_role_id', 'join_user_dept_id', 'user_id', 'user_status', 'user_category', 'user_name', 'user_login_name', 'user_mobile', 'user_remark', 'user_extend_json', 'user_addtimes')
  24. ->when($username != '', function ($query) use ($username) {
  25. $query->where('user_name', 'like', '%' . $username . '%');
  26. })
  27. ->orderBy('user_addtimes', 'DESC')
  28. ->forPage($page, $pageSize)
  29. ->get()
  30. ->toArray();
  31. $total = SysUser::when($username != '', function ($query) use ($username) {
  32. $query->where('user_name', 'like', '%' . $username . '%');
  33. })->count();
  34. return json_success('', compact('rows', 'page', 'pageSize', 'total'));
  35. }
  36. /**
  37. * @Desc 用户详情
  38. * @Author Gorden
  39. * @Date 2024/2/21 14:52
  40. *
  41. * @param $id
  42. * @return \support\Response
  43. */
  44. public static function userInfo($id)
  45. {
  46. $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')
  47. ->where('user_id', $id)
  48. ->first();
  49. if (!$user) {
  50. return json_fail('用户不存在');
  51. }
  52. return json_success('', $user->toArray());
  53. }
  54. /**
  55. * @Desc 添加用户
  56. * @Author Gorden
  57. * @Date 2024/2/21 13:50
  58. *
  59. * @param $params
  60. * @return \support\Response
  61. */
  62. public static function insertUser($params)
  63. {
  64. try {
  65. $data = [
  66. 'user_id' => self::generateUserId(),
  67. 'join_user_role_id' => $params['join_user_role_id'] ?? 0,
  68. 'join_user_dept_id' => $params['join_user_dept_id'] ?? 0,
  69. 'user_status' => $params['user_status'] ?? '',
  70. 'user_category' => $params['user_category'] ?? '',
  71. 'user_name' => $params['user_name'] ?? '',
  72. 'user_login_name' => $params['user_login_name'] ?? '',
  73. 'user_login_pass' => md5(sha1($params['user_login_pass'])),
  74. 'user_mobile' => $params['user_mobile'] ?? '',
  75. 'user_remark' => $params['user_remark'] ?? '',
  76. 'user_extend_json' => !empty($params['user_extend_json']) ? $params['user_extend_json'] : '{}',
  77. 'user_addtimes' => time()
  78. ];
  79. if (!SysUser::insert($data)) {
  80. throw new \Exception('添加用户失败');
  81. }
  82. } catch (\Exception $e) {
  83. dump($e->getMessage());
  84. return json_fail('添加用户失败');
  85. }
  86. return json_success('添加用户成功');
  87. }
  88. /**
  89. * @Desc 修改用户
  90. * @Author Gorden
  91. * @Date 2024/2/21 14:06
  92. *
  93. * @param $id
  94. * @param $params
  95. * @return \support\Response
  96. */
  97. public static function updateUser($id, $params)
  98. {
  99. try {
  100. $data = [
  101. 'join_user_role_id' => $params['join_user_role_id'],
  102. 'join_user_dept_id' => $params['join_user_dept_id'],
  103. 'user_status' => $params['user_status'],
  104. 'user_category' => $params['user_category'],
  105. 'user_name' => $params['user_name'],
  106. 'user_remark' => $params['user_remark'],
  107. 'user_extend_json' => !empty($params['user_extend_json']) ? $params['user_extend_json'] : '{}'
  108. ];
  109. // 密码变动
  110. if (!empty($params['user_login_pass'])) {
  111. $data['user_login_pass'] = md5(sha1($params['user_login_pass']));
  112. }
  113. SysUser::where('user_id', $id)->update($data);
  114. } catch (\Exception $e) {
  115. dump($e->getMessage());
  116. return json_fail('修改用户失败');
  117. }
  118. return json_success('修改用户成功');
  119. }
  120. /**
  121. * @Desc 修改用户状态
  122. * @Author Gorden
  123. * @Date 2024/2/21 15:03
  124. *
  125. * @param $id
  126. * @param $params
  127. * @return \support\Response
  128. */
  129. public static function updateStatus($id, $params)
  130. {
  131. try {
  132. if (!SysUser::where('user_id', $id)->update(['user_status' => $params['user_status']])) {
  133. throw new \Exception('用户状态修改失败');
  134. }
  135. } catch (\Exception $e) {
  136. return json_fail('用户状态修改失败');
  137. }
  138. return json_success('用户状态修改成功');
  139. }
  140. /**
  141. * @Desc 修改密码
  142. * @Author Gorden
  143. * @Date 2024/4/19 10:01
  144. *
  145. * @param $id
  146. * @param $params
  147. * @return \support\Response
  148. */
  149. public static function updatePassword($id, $params)
  150. {
  151. if ($params['user_login_pass'] != $params['confirmNewPassword']){
  152. return json_fail('两次密码不一致');
  153. }
  154. $user = SysUser::where('user_id', $id)->first();
  155. if (md5(sha1($params['userPassword'])) != $user->user_login_pass) {
  156. return json_fail('原密码错误');
  157. }
  158. try {
  159. SysUser::where('user_id',$id)->update(['user_login_pass'=>md5(sha1($params['user_login_pass']))]);
  160. return json_success('密码修改成功');
  161. }catch (\Exception $e){
  162. dump($e->getMessage());
  163. return json_fail('密码修改失败');
  164. }
  165. }
  166. /**
  167. * @Desc 删除用户
  168. * @Author Gorden
  169. * @Date 2024/2/21 15:11
  170. *
  171. * @param $id
  172. * @return \support\Response
  173. */
  174. public static function delUser(Request $request)
  175. {
  176. $ids = $request->post('user_id');
  177. if (!$ids) {
  178. return json_fail("数据错误");
  179. }
  180. try {
  181. if (is_array($ids)) {
  182. SysUser::whereIn('user_id', $ids)->delete();
  183. } else {
  184. SysUser::where('user_id', $ids)->delete();
  185. }
  186. } catch (\Exception $e) {
  187. return json_fail('删除用户失败');
  188. }
  189. return json_success('删除用户成功');
  190. }
  191. public static function checkUserExist($account)
  192. {
  193. return SysUser::where('user_login_name', $account)->exists();
  194. }
  195. public static function generateUserId()
  196. {
  197. $random = random_string(8);
  198. return 'UR' . date('YmdHis') . $random;
  199. }
  200. }