kikwik/instant-win-bundle

即时赢取彩票

安装: 6

依赖关系: 0

建议: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.1 2022-05-03 16:41 UTC

This package is auto-updated.

Last update: 2024-09-30 02:05:23 UTC


README

symfony 5 的即时赢取管理器

安装

打开命令行,进入您的项目目录,并执行以下命令以下载此组件的最新稳定版本

$ composer require kikwik/instant-win-bundle

配置

使您的配置实体和存储库扩展适当的接口(并使用特性)

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use App\Repository\ConfigurationRepository;
use Kikwik\InstantWinBundle\Interfaces\ConfigurationInterface;
use Kikwik\InstantWinBundle\Traits\ConfigurationTrait;

/**
 * @ORM\Entity(repositoryClass=ConfigurationRepository::class)
 */
class Configuration implements ConfigurationInterface
{
    use ConfigurationTrait;

    //...
}
namespace App\Repository;

use App\Entity\Configuration;
use Kikwik\InstantWinBundle\Interfaces\ConfigurationRepositoryInterface;
use Kikwik\InstantWinBundle\Traits\ConfigurationRepositoryTrait;

class ConfigurationRepository extends ServiceEntityRepository implements ConfigurationRepositoryInterface
{
    use ConfigurationRepositoryTrait;

    //...
}

使您的引实体和存储库扩展适当的接口(并使用特性)

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use App\Repository\ConfigurationRepository;
use Kikwik\InstantWinBundle\Interfaces\ConfigurationInterface;
use Kikwik\InstantWinBundle\Traits\ConfigurationTrait;

/**
 * @ORM\Entity(repositoryClass=ConfigurationRepository::class)
 */
class Configuration implements ConfigurationInterface
{
    use ConfigurationTrait;

    //...
}
namespace App\Repository;

use App\Entity\Configuration;
use Kikwik\InstantWinBundle\Interfaces\LeadRepositoryInterface;
use Kikwik\InstantWinBundle\Traits\LeadRepositoryTrait;

class LeadRepository extends ServiceEntityRepository implements LeadRepositoryInterface
{
    use LeadRepositoryTrait;

    //...
}

创建迁移并更新您的数据库

$ php bin/console make:migration
$ php bin/console doctrine:migrations:migrate

使用

在控制器中检查彩票

namespace App\Controller;

class CompetitionController extends AbstractController
{
 /**
     * @Route("/scopri-se-hai-vinto", name="app_competition_instantWin")
     */
    public function step3instantWin(Request $request, InstantWin $instantWin)
    {
        // call instant win lottery
        $lead->setIsInstantWinner($instantWin->lottery());
        $message = $lead->getIsInstantWinner()
            ? $this->configuration->getInstantWinWinnerMessage()
            : $this->configuration->getInstantWinLooserMessage();

        // send $message as sms
        $smsLog = $smsGateway->send($this->configuration->getInstantWinSenderName(),$lead->getPhoneNumber(), $message);
        
        if(in_array($smsLog->getResponseGroup(), ['REJECTED','UNDELIVERABLE']))
        {
            // reset instant win in case of recipient error
            $lead->setIsInstantWinner(false);
        }
        $this->em->persist($lead);
        $this->em->flush();
        
    }
}