123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <?php
- namespace app\common\model;
- use think\Model;
- use think\Session;
- class Admin extends Model
- {
- // 开启自动写入时间戳字段
- protected $autoWriteTimestamp = 'int';
- // 定义时间戳字段名
- protected $createTime = 'createtime';
- protected $updateTime = 'updatetime';
- public function authGroupAccess()
- {
- return $this->belongsTo('AuthGroupAccess', 'id','uid')->setEagerlyType(0);
- }
- public function adminExtend()
- {
- return $this->belongsTo('AdminExtend', 'id','admin_id')->setEagerlyType(0);
- }
- /**
- * 重置用户密码
- * @author baiyouwen
- */
- public function resetPassword($uid, $NewPassword)
- {
- $passwd = $this->encryptPassword($NewPassword);
- $ret = $this->where(['id' => $uid])->update(['password' => $passwd]);
- return $ret;
- }
- // 密码加密
- protected function encryptPassword($password, $salt = '', $encrypt = 'md5')
- {
- return $encrypt($password . $salt);
- }
- /**
- * 获取对应权限组下的所有用户
- *
- * @author liues@dianzhong.com
- * @date 2018-08-23 11:59:11
- * @param array|string $group_ids
- * @param array $where
- * @return false|\PDOStatement|string|\think\Collection
- */
- public function getListByGroup($group_ids, array $where=[], $fields=null){
- $fields = $fields ?? 'admin.*,auth_group.id as group_id,auth_group.name as group_name,auth_group.status as group_status';
- $group_ids = is_array($group_ids) ? $group_ids : explode(',', $group_ids);
- $where = array_merge(['auth_group_access.group_id'=>['in',$group_ids]], $where);
- $result = $this->field($fields)
- ->join('auth_group_access','auth_group_access.uid= admin.id', "LEFT")
- ->join('auth_group','auth_group.id=auth_group_access.group_id','LEFT')
- ->where($where)
- ->select();
- return $result;
- }
- public function getIds($vipid){
- $opratorids = $this->alias("a")
- ->join("admin_extend ae","a.id = ae.admin_id")
- ->join("auth_group_access ag","a.id = ag.uid")
- ->where("ae.create_by = {$vipid}")
- ->where("ag.group_id = 8")
- ->column("a.id");
- return $opratorids;
- }
- /**
- * 通过vipid获取其管辖的vip运营用户id
- * @param $vipId
- * @param string $status 状态。空:所有; normal:正常;hidden:隐藏
- * @return array
- */
- public function getOperatorIdsByVipId($vipId, $status = '')
- {
- $fetchObj = $this->alias("a")
- ->join("admin_extend ae", "a.id = ae.admin_id")
- ->join("auth_group_access ag", "a.id = ag.uid")
- ->where("ae.create_by = {$vipId}")
- ->where("ag.group_id = 8");
- if (!empty($status)) {
- $fetchObj->where('status', $status);
- }
- $opratorIds = $fetchObj->column("a.id");
- return $opratorIds;
- }
- }
|