| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- namespace App\Wechat\Official\Event\Click;
- use App\Models\Company;
- use App\Models\Member;
- use App\Services\Company\CompanyService;
- use App\Services\Person\ResumeService;
- use App\Wechat\Official\Event\EventInterface;
- /**
- * 公共号每日签到。
- * Class EverydaySignIn
- * @package App\Wechat\Official\Event\Click
- */
- class EverydaySignIn implements EventInterface
- {
- /**
- * @var ResumeService
- */
- private $resumeService;
- private $companyService;
- /**
- * PersonResumeRefresh constructor.
- * @param ResumeService $resumeService
- */
- public function __construct(ResumeService $resumeService, CompanyService $companyService)
- {
- $this->resumeService = $resumeService;
- $this->companyService = $companyService;
- }
- /**
- * @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) {
- $url = route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.firm.index'));
- $companyData = $this->companyService->signIn($user);
- if ($companyData['code'] == 1) {
- return "签到成功, 获得{$companyData['info']}积分:\n".
- "<a href='".$url."'>前往查看</a>";
- } else {
- return "签到失败,失败原因为:{$companyData['msg']}";
- }
- }
- if ($user instanceof Member) {
- $url = route('mobile.auth.thirdlogin.official')
- .'?redirect_url='.urlencode(route('mobile.person.index'));
- $memberData = $this->resumeService->signIn($user);
- $res = $memberData['info'];
- if ($memberData['code'] == 1) {
- return "签到成功, 获得{$res}积分:\n".
- "<a href='".$url."'>前往查看</a>";
- } else {
- return "签到失败,失败原因为:{$res}";
- }
- }
- }
- }
|