SystemAdmin.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. *
  7. * 管理用户表
  8. */
  9. namespace app\common\model;
  10. use think\Model;
  11. use util\Util;
  12. class SystemAdmin extends Model{
  13. protected $pk = 'id';
  14. /**
  15. * 添加或编辑用户
  16. * @param array 数据
  17. * @return bool
  18. */
  19. public static function updateUser($param){
  20. $data['username'] = $param['username'];
  21. $data['about'] = $param['about'];
  22. $data['last_login_ip'] = Util::getIp();
  23. $data['last_login_time'] = time();
  24. $data['update_time'] = time();
  25. if(isset($param['id']) && $param['id'] > 0){
  26. if(!empty($param['password'])){
  27. $data['password'] = password_hash(md5($param['password']),PASSWORD_DEFAULT);
  28. }
  29. }else{
  30. $data['password'] = password_hash(md5($param['password']),PASSWORD_DEFAULT);
  31. }
  32. if(isset($param['id']) && $param['id'] > 0){
  33. return SystemAdmin::where('id',$param['id'])->update($data);
  34. }else{
  35. $data['create_time'] = time();
  36. return SystemAdmin::insert($data);
  37. }
  38. }
  39. /**
  40. * 判断登录用户
  41. * @access public
  42. * @return bool
  43. */
  44. public static function login($param){
  45. $result = SystemAdmin::where(['username' => $param['login_id'],'locks' => 0])->find();
  46. if($result){
  47. if(!password_verify(md5($param['login_password']),$result->getAttr('password'))) {
  48. return FALSE;
  49. }
  50. $result->last_login_time = time();
  51. $result->last_login_ip = request()->ip();
  52. $result->save();
  53. return $result;
  54. }
  55. return FALSE;
  56. }
  57. /**
  58. * 修改我的密码
  59. * @access public
  60. */
  61. public static function upDatePasspowrd($param){
  62. $data = [
  63. 'password' => password_hash(md5($param['password']),PASSWORD_DEFAULT),
  64. 'about' => $param['about']
  65. ];
  66. $where = ['id' => $param['login']['admin_id']];
  67. return SystemAdmin::where($where)->update($data);
  68. }
  69. }