User.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. class User extends Model
  5. {
  6. protected $table = "users";
  7. public $timestamps = false;
  8. public function CreateUser(array $params)
  9. {
  10. // todo 是否需要保证用户名唯一的功能
  11. $this->username = $params["username"];
  12. $this->password = $params["password"];
  13. $this->nickname = $params["nickname"];
  14. $this->icon = $params["icon"];
  15. $this->tel = $params["tel"];
  16. $this->email = $params["email"];
  17. $this->status = "normal";
  18. if ($this->username == "" || $this->password == "") {
  19. return "empty username or password";
  20. }
  21. // todo 这里需要对密码加密
  22. $this->save();
  23. return "success";
  24. }
  25. public function ModifyUser(array $params)
  26. {
  27. }
  28. public function DeleteUser($uid)
  29. {
  30. }
  31. public function ListUser($page, $pageCount)
  32. {
  33. }
  34. }
  35. class UserRole extends Model
  36. {
  37. protected $table = "user_roles";
  38. public $timestamps = false;
  39. public function AssignRoles($uid, array $roles)
  40. {
  41. $checkData = $this->select("id")
  42. ->where("user_id", $uid)
  43. ->where("is_del", false)
  44. ->first;
  45. $r = 0;
  46. foreach ($roles as $role) {
  47. $r = $r & $role;
  48. }
  49. if (!$checkData) {
  50. // 插入新数据
  51. $this->user_id = $uid;
  52. $this->roles = $r;
  53. $this->save();
  54. } else {
  55. // 更新旧角色
  56. $this->roles = $r;
  57. $this->save();
  58. }
  59. return"success";
  60. }
  61. public function LoadRoleByUid($uid)
  62. {
  63. $role = $this->select("user_id", "role_id", "status")
  64. ->where("user_id", $uid)
  65. ->where("is_del", false)
  66. ->first();
  67. return $role;
  68. }
  69. }