kikwik / instant-win-bundle
即时赢取彩票
v1.0.1
2022-05-03 16:41 UTC
Requires
- php: ^7.1.3
- fresh/doctrine-enum-bundle: *
- symfony/framework-bundle: ^4.4|^5.0
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(); } }