<?php namespace App\Http\Services; //后台用户相关信息服务 use App\Model\IntracodeModel; use App\Model\UserDepartmentModel; 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 getAdminUserNameByCodeId($codeId) { $intraCodeModel = new IntracodeModel(); $userInfoModel = new UserInfoModel(); $adminId = $intraCodeModel->where('code_id', $codeId)->value('admin_id'); return $userInfoModel->where('userId', $adminId)->value('name'); } public function getAdminUserListByCodeIds($codeIds = []) { $intraCodeModel = new IntracodeModel(); $userInfoModel = new UserInfoModel(); $adminIds = $intraCodeModel->whereIn('code_id', $codeIds)->pluck('admin_id'); return $userInfoModel->whereIn('userId', $adminIds)->get()->toArray(); } public function getCodeIdByUserName($userName) { $userId = UserInfoModel::where('name', $userName)->value('userId'); $codeId = IntracodeModel::where('admin_id', $userId)->value('code_id'); return $codeId; } public function getAdminIdByUserName($userName) { return UserInfoModel::where('name', $userName)->value('userId'); } public function getAdminIdByEmail($email) { return UserInfoModel::where('email', $email)->value('userId'); } public function getCodeIdsByUserIds($userIds) { $intraCodeModel = new IntracodeModel(); return $intraCodeModel->whereIn('admin_id', $userIds)->pluck('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 checkIsResignedByCodeId($codeId) { $userInfoModel = new UserInfoModel(); $count = $userInfoModel->leftJoin('lie_intracode', 'user_info.userId', '=', 'lie_intracode.admin_id') ->where('lie_intracode.code_id', $codeId) ->where('user_info.status', 4)->where('lie_intracode.code_id', '!=', '')->count(); return (bool)$count; } //获取渠道开发员(运营部)的所有用户信息 public function getPurchaseUsers() { $departmentService = new DepartmentService(); //市场部 $usersMarket = $departmentService->getUserByDepartmentId(4); //运营部 $usersOperation = $departmentService->getUserByDepartmentId(9); $users = array_merge($usersMarket, $usersOperation); $userIds = array_column($users, 'userId'); $intraCodeModel = new IntracodeModel(); return $intraCodeModel->getEncodeByUserIds($userIds); } }