User.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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 (!empty($request->user['agent_id'])) {
  38. $param['agent_id'] = $request->user['agent_id'];
  39. }
  40. if (isset($param['app_id'])) {
  41. $param['app_id'] = json_encode($param['app_id']);
  42. }
  43. if(isset($param['role_path']) && is_array($param['role_path'])){
  44. $parent = $param['role_path'];
  45. $param['role_path'] = implode(",",$parent);
  46. $param['role_id'] = $parent[count($parent) - 1];
  47. }
  48. $state = (new SystemUser)->setAutoData($param);
  49. if (!$state) return errorTrans("error.data");
  50. return successTrans("success.data");
  51. } catch (\Throwable $throwable) {
  52. return error($throwable->getMessage());
  53. }
  54. }
  55. public function setUserPasswd(Request $request): Response
  56. {
  57. try {
  58. $param = v_valid([
  59. "id.require" => trans(20010),
  60. "password.require" => trans(20010)
  61. ],"post");
  62. if (!is_array($param)) return error($param);
  63. $user = (new SystemUser)->where("id",$param['id'])->findOrEmpty();
  64. if ($user->isEmpty()) return errorTrans("empty.error");
  65. $user->password = md5($param['password'].$user['salt']);
  66. $state = $user->save();
  67. if (!$state) return errorTrans("error.data");
  68. return successTrans("success.data");
  69. } catch (\Throwable $throwable) {
  70. return error($throwable->getMessage());
  71. }
  72. }
  73. public function deleteUser(Request $request): Response
  74. {
  75. try {
  76. $param = v_valid([
  77. "id.require" => trans(20010)
  78. ],"post");
  79. if (!is_array($param)) return error($param);
  80. $user = (new SystemUser)->where("id",$param['id'])->findOrEmpty();
  81. if ($user->isEmpty()) return errorTrans("empty.error");
  82. $state = $user->delete();
  83. if (!$state) return errorTrans("error.data");
  84. return successTrans("success.data");
  85. } catch (\Throwable $throwable) {
  86. return error($throwable->getMessage());
  87. }
  88. }
  89. }