// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\common\model; use cores\BaseModel; /** * 解锁生源用户模型类 * Class UnlockUser * @package app\common\model */ class UnlockUser extends BaseModel { protected $globalScope = ['']; // 定义表名 protected $name = 'unlock_users'; // 定义主键 protected $pk = 'id'; /** * 获取老师已解锁的用户ID * @param $userId * @return array */ public static function getUserByUser($userId, $schoolId=0) { $where = ['uo.user_id'=> $userId, 'uo.status'=>2]; if($schoolId>0){ $where['uo.school_id'] = $schoolId; } return self::alias('a') ->leftJoin('unlock_order uo','a.order_id=uo.order_id') ->where($where) ->column('a.user_id'); } /** * 验证老师是否已经解锁该用户 * @param $lockUserId 解锁用户 * @param $userId 老师用户ID * @param int $schoolId 生源学校ID * @return mixed */ public static function checkUserByUser($lockUserId, $userId, $schoolId=0) { $lockedUids = $userId? UserInfo::getLockedIds($userId) : []; if($lockedUids && in_array($lockUserId, $lockedUids)){ return 1; } $where = ['uo.user_id'=> $userId, 'a.user_id'=> $lockUserId, 'uo.status'=>2]; if($schoolId>0){ $where['uo.school_id'] = $schoolId; } return self::alias('a') ->leftJoin('unlock_order uo','a.order_id=uo.order_id') ->where($where) ->value('a.user_id')? 1 : 2; } /** * 计算老师已解锁的用户数量 * @param $userId * @return array */ public static function getCountByUser($userId, $schoolId) { $where = ['uo.user_id'=> $userId, 'uo.status'=>2]; if($schoolId>0){ $where['uo.school_id'] = $schoolId; } return self::alias('a') ->leftJoin('unlock_order uo','a.order_id=uo.order_id') ->where($where) ->count('a.user_id'); } }