<?php


namespace App\Http\Services;

//后台用户相关信息服务
use App\Model\IntracodeModel;
use App\Model\UserInfoModel;
use Illuminate\Support\Facades\DB;

class AdminUserService
{

    public function getAdminUserInfoByCodeId($codeId)
    {
        $intracodeModel = new IntracodeModel();
        $userInfoModel = new UserInfoModel();
        $adminId = $intracodeModel->where('code_id', $codeId)->value('admin_id');
        return $userInfoModel->where('userId', $adminId)->first();
    }

    public function getCodeIdByUserId($userId)
    {
        $intracodeModel = new IntracodeModel();
        return $intracodeModel->where('admin_id', $userId)->value('code_id');
    }

    public function getAdminUserInfo($userId)
    {
        $userInfoModel = new UserInfoModel();
        $user = $userInfoModel->where('userId', $userId)->first();
        return $user ?: [];
    }

    //获取离职人员列表
    public function getResignedUsers()
    {
        $userInfoModel = new UserInfoModel();
        $user = $userInfoModel->leftJoin('lie_intracode', 'user_info.userId', '=', 'lie_intracode.admin_id')
            ->where('user_info.status', 4)->where('lie_intracode.code_id', '!=', '')->get();
        return $user ? $user->toArray() : [];
    }

    public function getCodeIdsByUserIds($userIds)
    {
        $intracodeModel = new IntracodeModel();
        return $intracodeModel->whereIn('admin_id', $userIds)->pluck('code_id');
    }

    //获取渠道开发员(运营部)的所有用户信息
    public function getPurchaseUsers()
    {  //4,9
        $departmentName = '运营部';
        $departmentService = new DepartmentService();
        $departmentId = $departmentService->getDepartmentId($departmentName);
        return $departmentService->getUserByDepartmentId($departmentId);
    }
}