kikwik/instant-win-bundle
Composer 安装命令:
composer require kikwik/instant-win-bundle
包简介
Instant Win lottery
README 文档
README
Instant Win manager for symfony 5
Installation
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require kikwik/instant-win-bundle
Configuration
Make your Configuration entity and repository extends proper interfaces (and use traits)
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; //... }
Make your Lead entity and repository extends proper interfaces (and use traits)
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; //... }
Make migrations and update your database
$ php bin/console make:migration $ php bin/console doctrine:migrations:migrate
Usage
Check lottery in your controller
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(); } }
kikwik/instant-win-bundle 适用场景与选型建议
kikwik/instant-win-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 8 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 04 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 kikwik/instant-win-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 kikwik/instant-win-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 9
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-04-29