User.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace app\controller\admin;
  3. use app\extra\tools\CodeExtend;
  4. use app\model\system\SystemUser;
  5. use app\service\system\UserService;
  6. use support\Request;
  7. use support\Response;
  8. class User
  9. {
  10. public function getUserList(Request $request): Response
  11. {
  12. try {
  13. $param = $request->all();
  14. if (!empty($request->user['agent_id'])) {
  15. $param['agent'] = $request->user['agent_id'];
  16. }
  17. $data = (new UserService)->setModel()->getList($param,['agent' => function($query){
  18. $query->field("agent_id,name");
  19. }]);
  20. return successTrans('success.data',pageFormat($data),200);
  21. } catch (\Throwable $throwable) {
  22. return error($throwable->getMessage());
  23. }
  24. }
  25. public function setUserData(Request $request): Response
  26. {
  27. try {
  28. $param = $request->post();
  29. if(!isset($param['id'])) // 新增
  30. {
  31. $param['salt'] = CodeExtend::random(6,3);
  32. $param['password'] = md5($param['password'].$param['salt']);
  33. $param['create_ip'] = $request->getRealIp();
  34. $user = (new SystemUser)->where("username",$param['username'])->findOrEmpty();
  35. if (!$user->isEmpty()) return error("帐号已存在");
  36. }
  37. if (isset($param['app_id'])) {
  38. $param['app_id'] = json_encode($param['app_id']);
  39. }
  40. if(isset($param['role_path']) && is_array($param['role_path'])){
  41. $parent = $param['role_path'];
  42. $param['role_path'] = implode(",",$parent);
  43. $param['role_id'] = $parent[count($parent) - 1];
  44. }
  45. $state = (new SystemUser)->setAutoData($param);
  46. if (!$state) return errorTrans("error.data");
  47. return successTrans("success.data");
  48. } catch (\Throwable $throwable) {
  49. return error($throwable->getMessage());
  50. }
  51. }
  52. public function setUserPasswd(Request $request): Response
  53. {
  54. try {
  55. $param = v_valid([
  56. "id.require" => trans(20010),
  57. "password.require" => trans(20010)
  58. ],"post");
  59. if (!is_array($param)) return error($param);
  60. $user = (new SystemUser)->where("id",$param['id'])->findOrEmpty();
  61. if ($user->isEmpty()) return errorTrans("empty.error");
  62. $user->password = md5($param['password'].$user['salt']);
  63. $state = $user->save();
  64. if (!$state) return errorTrans("error.data");
  65. return successTrans("success.data");
  66. } catch (\Throwable $throwable) {
  67. return error($throwable->getMessage());
  68. }
  69. }
  70. }