| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | <?phpnamespace 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>";    }}
 |