src/Biz/User/Register/Impl/DistributorRegistDecoderImpl.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php

namespace Biz\User\Register\Impl;

class DistributorRegistDecoderImpl extends RegistDecoder
{
    protected function validateBeforeSave($registration)
    {
    }

    protected function dealDataBeforeSave($registration, $user)
    {
        $splitedInfos = $this->splitToken($registration);

        // 有效,则注册来源为分销平台
        if ($splitedInfos['valid']) {
            $user['type'] = 'distributor';
            $user['distributorToken'] = $registration['distributorToken'];
        }

        return $user;
    }

    protected function dealDataAfterSave($registration, $user)
    {
        $splitedInfos = $this->splitToken($registration);

        $errMsg = '';
        if ($splitedInfos['valid']) {
            $user['token'] = $registration['distributorToken'];
            $this->getDistributorUserService()->createJobData($user);
        } else {
            $errMsg .= 'not valid ';
        }

        if ($splitedInfos['rewardable']) {
            $this->getCouponService()->generateDistributionCoupon($user['id'], $splitedInfos['couponPrice'] / 100, $splitedInfos['couponExpiryDay']);
        } else {
            $errMsg .= 'not rewardable ';
        }

        if (!empty($errMsg)) {
            $this->biz['logger']->error('distributor sign error DistributorRegistDecoderImpl::dealDataAfterSave', array(
                'userId' => $user['id'],
                'token' => $registration['distributorToken'],
            ));
        }
    }

    /**
     * return \Biz\Distributor\Service\DistributorUserService
     */
    protected function getDistributorUserService()
    {
        return $this->biz->service('Distributor:DistributorUserService');
    }

    private function splitToken($registration)
    {
        if (empty($this->splitedInfos)) {

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。