src/Biz/Marketing/Service/Impl/UserMarketingActivityServiceImpl.php

(开头部分) 2KB

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

<?php

namespace Biz\Marketing\Service\Impl;

use Biz\Marketing\Service\UserMarketingActivityService;
use Biz\BaseService;
use Biz\Marketing\Dao\UserMarketingActivityDao;
use Biz\Marketing\Service\MarketingPlatformService;
use Biz\User\Service\UserService;
use Biz\Marketing\Service\UserMarketingActivitySynclogService;
use Biz\Marketing\MarketingAPIFactory;
use Biz\User\UserException;
use AppBundle\Common\ArrayToolkit;

class UserMarketingActivityServiceImpl extends BaseService implements UserMarketingActivityService
{
    public function searchActivities($conditions, $orderBy, $start, $limit)
    {
        return $this->getUserMarketingActivityDao()->search($conditions, $orderBy, $start, $limit);
    }

    public function searchActivityCount($conditions)
    {
        return $this->getUserMarketingActivityDao()->count($conditions);
    }

    public function syncByMobile($mobile)
    {
        $user = $this->getUserService()->getUserByVerifiedMobile($mobile);
        if (empty($user)) {
            throw UserException::NOTFOUND_USER();
        }

        $lastSyncLog = $this->getUserMarketingActivitySynclogService()->getLastSyncLogByTargetAndTargetValue(UserMarketingActivitySynclogService::TARGET_MOBILE, $mobile);
        if (empty($lastSyncLog)) {
            $startTime = 0;
        } elseif (empty($lastSyncLog['data'])) {
            $startTime = $lastSyncLog['rangeStartTime'];
        } else {
            $startTime = $lastSyncLog['rangeEndTime'];
        }

        $args = array(
            'start_time' => $startTime,
            'end_time' => time(),
            'target' => UserMarketingActivitySynclogService::TARGET_MOBILE,
            'target_value' => $mobile,
        );
        $activities = $this->getRemoteActivitiesByArgs($args);

        $createActivities = array();
        $updateActivities = array();

        foreach ($activities as $activitiy) {
            $oldActivitiy = $this->findByJoinedIdAndType($activitiy['joinedId'], $activitiy['type']);
            if (empty($oldActivitiy)) {
                $createActivities[] = array(
                    'userId' => $user['id'],
                    'mobile' => $activitiy['mobile'],
                    'activityId' => $activitiy['activityId'],

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

AI 解读 AI

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

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