123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace App\Wechat\Official\Event\Click;
- use App\Models\Company;
- use App\Models\Member;
- use App\Services\Person\ResumeService;
- use App\Wechat\Official\Event\EventInterface;
- /**
- * 公众号个人简历刷新
- * Class PersonResumeRefresh
- * @package App\Wechat\Official\Event\Click
- * Auth Zhong
- * Date 2019-05-08
- */
- class PersonResumeRefresh implements EventInterface
- {
- /**
- * @var ResumeService
- */
- private $resumeService;
- /**
- * PersonResumeRefresh constructor.
- * @param ResumeService $resumeService
- */
- public function __construct(ResumeService $resumeService)
- {
- $this->resumeService = $resumeService;
- }
- /**
- * @param array $wechatUser 从微信里获取的用户基本信息
- * @param bool|Company|Member $user 有没有绑定系统用户,false为未绑定,否则为对应的用户模型
- * @param array $payload 该事件的参数
- * @return mixed
- */
- public function handle(array $wechatUser, $user, array $payload)
- {
- if (!$user) {
- return "您还没有绑定账号,请先绑定账号:\n".
- "<a href='".route('mobile.auth.thirdlogin.official')."'>点此立即绑定</a>";
- }
- if ($user instanceof Company) {
- return "您绑定的是企业账号, 无法操作个人菜单!";
- }
- $url = route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.person.resume'));
- $resumeData=$this->resumeService->getSuccessResumeCount($user);
- if ($resumeData['code'] == 0) {
- return "您还没有可以刷新的简历,请先创建或完善简历:\n".
- "<a href='".$url."'>点此立即前往</a>";
- }
- $totalNum=$resumeData['info']->count();
- $refreshNum = 0;
- $errorMessage = '';
- foreach ($resumeData['info'] as $resume) {
- $refreshRes = $this->resumeService->refreshResume($resume->id, $user);
- if ($refreshRes['code'] == 0) {
- $errorMessage = $refreshRes['info'];
- continue;
- } else {
- $refreshNum++;
- }
- }
- $point=$refreshNum*5;
- if (empty($errorMessage)) {
- return "成功刷新{$refreshNum}/{$totalNum}份简历, 获得{$point}积分:\n".
- "<a href='".$url."'>前往查看</a>";
- }
- return "成功刷新{$refreshNum}/{$totalNum}份简历, 获得{$point}积分:\n".
- "剩余简历未刷新成功原因为: {$errorMessage}\n".
- "<a href='".$url."'>前往查看</a>";
- }
- }
|