| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 | <?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=3', 'time' => '2023年2月2日 15:00-17:00', 'company' => '', 'status' => 'unstart', 'url' => 'https://wx.vzan.com/live/page/751180164?shauid=aZ59T5QhZeFbth6iU9up7Q**&vprid=0&sharetstamp=1673345500817'],            ['name' => '高校毕业生暨硕博人才开发区企业专场', 'images' => theme_asset('mobile/images/online2021/qrcode_worker.png') . '?v=3', 'time' => '2023年2月10日 15:00-17:00', 'company' => '', 'status' => 'unstart', 'url' => 'https://wx.vzan.com/live/page/1718142599?shauid=jd8mXapnc1ccaet7mLK7qQ**&vprid=0&sharetstamp=1673365452954'],        ];        return $arr;    }}
 |