123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- /**
- * Created by PhpStorm.
- * User: Administrator
- * Date: 2018/11/9
- * Time: 9:58
- */
- namespace App\Services;
- use App\Repositories\AdCategoryRepository;
- use App\Repositories\AdRepository;
- use App\Repositories\MemberInfoRepository;
- use App\Repositories\PersonalJobsApplyRepository;
- use App\Repositories\PmsRepository;
- use App\Repositories\TaskLogRepository;
- use App\Repositories\ResumeRepository;
- use App\Repositories\CompanyInterviewRepository;
- use App\Repositories\companyFavoriteRepository;
- use App\Repositories\ViewJobRepository;
- class HomeService
- {
- protected $adRepository;
- protected $adCategoryRepository;
- protected $memberInfoRepository;
- protected $taskLogRepository;
- protected $resumeRepository;
- protected $companyInterviewRepository;
- protected $companyFavoriteRepository;
- protected $personalJobsApplyRepository;
- protected $viewJobRepository;
- protected $pmsRepository;
- /**
- * HomeService constructor.
- * @param AdRepository $adRepository
- * @param AdCategoryRepository $adCategoryRepository
- * @param MemberInfoRepository $memberInfoRepository
- * @param TaskLogRepository $taskLogRepository
- * @param ResumeRepository $resumeRepository
- * @param CompanyInterviewRepository $companyInterviewRepository
- * @param companyFavoriteRepository $companyFavoriteRepository
- * @param PmsRepository $pmsRepository
- * @param $personalJobsApplyRepository
- * @param $viewJobRepository
- */
- public function __construct(AdRepository $adRepository, ViewJobRepository $viewJobRepository, PersonalJobsApplyRepository $personalJobsApplyRepository, AdCategoryRepository $adCategoryRepository, MemberInfoRepository $memberInfoRepository, TaskLogRepository $taskLogRepository, ResumeRepository $resumeRepository, CompanyInterviewRepository $companyInterviewRepository, companyFavoriteRepository $companyFavoriteRepository, PmsRepository $pmsRepository)
- {
- $this->adRepository = $adRepository;
- $this->adCategoryRepository = $adCategoryRepository;
- $this->memberInfoRepository = $memberInfoRepository;
- $this->taskLogRepository = $taskLogRepository;
- $this->resumeRepository = $resumeRepository;
- $this->companyInterviewRepository = $companyInterviewRepository;
- $this->companyFavoriteRepository = $companyFavoriteRepository;
- $this->personalJobsApplyRepository = $personalJobsApplyRepository;
- $this->viewJobRepository = $viewJobRepository;
- $this->pmsRepository = $pmsRepository;
- }
- public function getAds($filter)
- {
- $whereIn = array_keys($filter);
- $where = [
- 'c.theme' => 'default',
- 'c.org' => 'Home',
- 'is_display' => 1,
- ];
- $ads = $this->adRepository->getFilterAds($where, $whereIn);
- $lists = [];
- if ($ads->toArray()) {
- foreach ($ads as $k => $v) {
- $lists[$v->alias][] = $v;
- }
- foreach ($lists as $key => $val) {
- if ($filter[$key]) {
- if (count($val) > $filter[$key]) {
- $lists[$key] = array_slice($val, 0, $filter[$key]);
- }
- }
- }
- }
- return $lists;
- }
- public function getUserInfo($user)
- {
- $utype = $user->utype;
- $id = $user->id;
- if ($utype == 2) {
- $member = $this->memberInfoRepository->getMemberInfo($id);
- $sign = $this->taskLogRepository->getTaskLogCount($id, 3, $utype);
- $resume = $this->resumeRepository->getPersonInfo($id);
- $pms = $this->pmsRepository->getPmsCountByUid(['utype' => $utype, 'msgtouid' => $id]);
- if ($resume) {
- $interview = $this->companyInterviewRepository->getInterview($id, getJobsStatus());
- $viewResume = $this->companyFavoriteRepository->getAttentionByResume($resume->id);
- } else {
- $interview = 0;
- $viewResume = 0;
- }
- return ['member' => $member, 'sign' => $sign, 'resume' => $resume, 'interview' => $interview, 'viewResume' => $viewResume, 'pms' => $pms];
- } else {
- //是否签到
- $sign = $this->taskLogRepository->getTaskLogCount($id, 18, $utype);
- //待处理简历
- $condition1 = [
- 'is_reply' => 0,
- 'company_id' => $user->id,
- ];
- $noDoneResume = $this->personalJobsApplyRepository->resumesCount($condition1);
- //谁看过我
- $map['company_id'] = auth('web-company')->user()->id;
- $lookMe = $this->viewJobRepository->browseJobsCount($map);
- //我的消息
- $where['msgtouid'] = auth('web-company')->user()->id;
- $where['utype'] = auth('web-company')->user()->utype;
- $where['new'] = 1;
- $myPms = $this->pmsRepository->getPmsCount($where);
- return ['company' => $user, 'sign' => $sign, 'noDoneResume' => $noDoneResume, 'lookMe' => $lookMe, 'myPms' => $myPms];
- }
- }
- public function getTime()
- {
- $Morning = strtotime(date('Y-m-d 06:00:00'));
- $Noon = strtotime(date('Y-m-d 12:00:00'));
- $Night = strtotime(date('Y-m-d 18:00:00'));
- return (object)['morning' => $Morning, 'noon' => $Noon, 'night' => $Night];
- }
- public function getSpringLive()
- {
- $arr = [
- ['name' => '硕博专场', 'images' => theme_asset('mobile/images/online2021/qrcode_doctor.png') . '?v=1', 'time' => '2022年1月14日 15:00-17:00', 'company' => '', 'status' => 'end', 'url' => 'https://wx.vzan.com/live/tvchat-1417467221?v=1642678440955#/'],
- ['name' => '省外专场', 'images' => theme_asset('mobile/images/online2021/qrcode_province_out.jpg') . '?v=1', 'time' => '2022年1月27日 15:00-17:00', 'company' => '', 'status' => 'end', 'url' => 'https://wx.vzan.com/live/tvchat-1156791438?v=1643097082151#/'],
- ['name' => '综合专场', 'images' => theme_asset('mobile/images/online2021/qrcode_comprehensive.jpg') . '?v=1', 'time' => '2022年2月8日-10日 10:00-12:00', 'company' => '', 'status' => 'end', 'url' => 'https://wx.vzan.com/live/tvchat-1772059522?v=1643096232822#/'],
- ['name' => '省外专场', 'images' => theme_asset('mobile/images/online2021/qrcode_province_out.jpg') . '?v=1', 'time' => '以新春晋江市企业赴云南招聘会时间为准', 'company' => '', 'status' => 'unstart', 'url' => 'https://wx.vzan.com/live/tvchat-841571637?v=1643096279561#/'],
- ['name' => '零工专场', 'images' => theme_asset('mobile/images/online2021/qrcode_odd_job.jpg') . '?v=1', 'time' => '以零工市场建成揭幕仪式时间为准', 'company' => '', 'status' => 'unstart', 'url' => 'https://wx.vzan.com/live/tvchat-794586822?v=1643096295228#/'],
- ];
- return $arr;
- }
- }
|