src/Biz/Distributor/Service/Impl/DistributorUserServiceImpl.php

(开头部分) 2KB

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

<?php

namespace Biz\Distributor\Service\Impl;

use AppBundle\Common\Exception\RuntimeException;
use AppBundle\Common\TimeMachine;

class DistributorUserServiceImpl extends BaseDistributorServiceImpl
{
    /**
     * @param token 分销平台的token,只能使用一次
     *
     * @return array(
     *                'couponPrice' => 123, //优惠券,奖励多少分 (单位为分)
     *                'couponExpiryDay' => unix_time, //优惠券有效时间
     *                'valid'  => true, //是否可注册,指的是分销平台是否颁发过这个token, 如果为false,则注册的用户不算分销平台用户
     *                'rewardable' => false  //是否有奖励, 当couponPrice或couponExpiryday=0时, 则注册的用户不会发放优惠券
     *                )
     */
    public function decodeToken($token)
    {
        $splitedStr = explode(':', $token);

        $tokenInfo = array(
            'valid' => false,
            'rewardable' => false,
        );

        try {
            $drpService = $this->getDrpService();
            if (!empty($drpService)) {
                $this->validateExistedToken($token);
                $parsedInfo = $this->getDrpService()->parseRegisterToken($token);
                $tokenInfo['valid'] = true;
                $tokenExpireTime = strtotime('+1 day', intval($parsedInfo['time']));
                if ($tokenExpireTime >= TimeMachine::time()) {
                    $tokenInfo['couponPrice'] = $parsedInfo['coupon_price'];
                    $tokenInfo['couponExpiryDay'] = $parsedInfo['coupon_expiry_day'];
                    if (0 != $tokenInfo['couponPrice'] && 0 != $tokenInfo['couponExpiryDay']) {
                        $tokenInfo['rewardable'] = true;
                    }
                }
            }
        } catch (\Exception $e) {
            $this->biz['logger']->error('distributor sign error DistributorUserServiceImpl::decodeToken '.$e->getMessage(), array('trace' => $e->getTraceAsString()));
        }

        return $tokenInfo;
    }

    public function getSendType($data)
    {
        return 'user';
    }

    public function generateMockedToken($params)
    {
        $data = array(
            'merchant_id' => '123',
            'agency_id' => '22221',

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

AI 解读 AI

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

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