Admin.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. namespace app\common\model;
  3. use think\Model;
  4. use think\Session;
  5. class Admin extends Model
  6. {
  7. // 开启自动写入时间戳字段
  8. protected $autoWriteTimestamp = 'int';
  9. // 定义时间戳字段名
  10. protected $createTime = 'createtime';
  11. protected $updateTime = 'updatetime';
  12. public function authGroupAccess()
  13. {
  14. return $this->belongsTo('AuthGroupAccess', 'id','uid')->setEagerlyType(0);
  15. }
  16. public function adminExtend()
  17. {
  18. return $this->belongsTo('AdminExtend', 'id','admin_id')->setEagerlyType(0);
  19. }
  20. /**
  21. * 重置用户密码
  22. * @author baiyouwen
  23. */
  24. public function resetPassword($uid, $NewPassword)
  25. {
  26. $passwd = $this->encryptPassword($NewPassword);
  27. $ret = $this->where(['id' => $uid])->update(['password' => $passwd]);
  28. return $ret;
  29. }
  30. // 密码加密
  31. protected function encryptPassword($password, $salt = '', $encrypt = 'md5')
  32. {
  33. return $encrypt($password . $salt);
  34. }
  35. /**
  36. * 获取对应权限组下的所有用户
  37. *
  38. * @author liues@dianzhong.com
  39. * @date 2018-08-23 11:59:11
  40. * @param array|string $group_ids
  41. * @param array $where
  42. * @return false|\PDOStatement|string|\think\Collection
  43. */
  44. public function getListByGroup($group_ids, array $where=[], $fields=null){
  45. $fields = $fields ?? 'admin.*,auth_group.id as group_id,auth_group.name as group_name,auth_group.status as group_status';
  46. $group_ids = is_array($group_ids) ? $group_ids : explode(',', $group_ids);
  47. $where = array_merge(['auth_group_access.group_id'=>['in',$group_ids]], $where);
  48. $result = $this->field($fields)
  49. ->join('auth_group_access','auth_group_access.uid= admin.id', "LEFT")
  50. ->join('auth_group','auth_group.id=auth_group_access.group_id','LEFT')
  51. ->where($where)
  52. ->select();
  53. return $result;
  54. }
  55. public function getIds($vipid){
  56. $opratorids = $this->alias("a")
  57. ->join("admin_extend ae","a.id = ae.admin_id")
  58. ->join("auth_group_access ag","a.id = ag.uid")
  59. ->where("ae.create_by = {$vipid}")
  60. ->where("ag.group_id = 8")
  61. ->column("a.id");
  62. return $opratorids;
  63. }
  64. /**
  65. * 通过vipid获取其管辖的vip运营用户id
  66. * @param $vipId
  67. * @param string $status 状态。空:所有; normal:正常;hidden:隐藏
  68. * @return array
  69. */
  70. public function getOperatorIdsByVipId($vipId, $status = '')
  71. {
  72. $fetchObj = $this->alias("a")
  73. ->join("admin_extend ae", "a.id = ae.admin_id")
  74. ->join("auth_group_access ag", "a.id = ag.uid")
  75. ->where("ae.create_by = {$vipId}")
  76. ->where("ag.group_id = 8");
  77. if (!empty($status)) {
  78. $fetchObj->where('status', $status);
  79. }
  80. $opratorIds = $fetchObj->column("a.id");
  81. return $opratorIds;
  82. }
  83. }