User.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Support\Facades\Log;
  5. class User extends Model
  6. {
  7. protected $table = "users";
  8. public $timestamps = false;
  9. public function CreateUser(array $params)
  10. {
  11. // todo 是否需要保证用户名唯一的功能
  12. $this->username = $params["username"];
  13. $this->password = $params["password"];
  14. $this->nickname = $params["nickname"];
  15. $this->icon = $params["icon"];
  16. $this->tel = $params["tel"];
  17. $this->email = $params["email"];
  18. if ($this->username == "" || $this->password == "") {
  19. return "empty username or password";
  20. }
  21. if ($this->nickname == "") {
  22. $this->nickname = $this->username;
  23. $params["nickname"] = $this->username;
  24. }
  25. // todo 这里需要对密码加密
  26. $this->save();
  27. unset($params["password"]);
  28. return $params;
  29. }
  30. public function ChangePassword($uid, $oldPwd, $newPwd)
  31. {
  32. }
  33. public function ModifyUser(array $params)
  34. {
  35. $update = [];
  36. $uid = $params["id"];
  37. if ($uid == "") {
  38. return "empty user id";
  39. }
  40. if ($params["username"] != "") {
  41. $update["username"] = $params["username"];
  42. }
  43. if ($params["nickname"] != "") {
  44. $update["nickname"] = $params["nickname"];
  45. }
  46. if ($params["icon"] != "") {
  47. $update["icon"] = $params["icon"];
  48. }
  49. if ($params["tel"] != "") {
  50. $update["tel"] = $params["tel"];
  51. }
  52. if ($params["email"] != "") {
  53. $update["email"] = $params["email"];
  54. }
  55. if (count($update) == 0) {
  56. return "nothing to update";
  57. }
  58. $result = $this->where("id", $uid)
  59. ->where("is_del", false)
  60. ->update($update);
  61. Log::debug("result is " . $result, ["aa" => $this->getGrammar()]);
  62. return [
  63. "code" => $result == false ? 0 : NO_DATA_IN_SYS_TO_UPDATE,
  64. "message" => $result == false ? "success" : "invalid update",
  65. ];
  66. }
  67. public function DeleteUser($uid)
  68. {
  69. if ($uid == "") {
  70. return "empty user id";
  71. }
  72. $result = $this->where("id", $uid)
  73. ->where("is_del", false)
  74. ->update(["is_del" => true]);
  75. return $result > 0 ? "success" : "fail";
  76. }
  77. public function ListUser($page, $pageCount)
  78. {
  79. $data = $this->where("is_del", false)
  80. ->paginate($pageCount, ["*"], "page", $page)
  81. ->get();
  82. return $data;
  83. }
  84. }