承接 aira-virtual/promocodes 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aira-virtual/promocodes

Composer 安装命令:

composer require aira-virtual/promocodes

包简介

Promotional Codes Generator for Laravel 5

README 文档

README

Use version 0.5.1 for Laravel 5.1

Latest Stable Version Total Downloads License StyleCI Scrutinizer Code Quality Build Status

PR0M0C0D35
PR0M0C0D35Promocodes generator for Laravel 5.*. Trying to make the best package in this category. You are welcome to join the party, give me some advices :tada: and make pull requests.

Table of Contents

What's new?

Installation

Install this package via Composer:

$ composer require aira-virtual/promocodes

Open config/app.php and follow steps below:

Find the providers array and add our service provider.

'providers' => [
    // ...
    Aira\Promocodes\PromocodesServiceProvider::class
],

Find the aliases array and add our facade.

'aliases' => [
    // ...
    'Promocodes' => Aira\Promocodes\Facades\Promocodes::class
],

Configuration

Publish config & migration file using Artisan command:

$ php artisan vendor:publish

To create table for promocodes in database run:

$ php artisan migrate

Configuration parameters are well documented. There is no need to describe each parameter here.

Check config/promocodes.php and read comments there if you need.

Usage

Generate as many codes as you wish and output them without saving. You will get array of codes in return:

Promocodes::output($amount = 1)

Create as many codes as you wish, with same reward for each one. They will be saved in database and you will get collection of them in return:

Promocodes::create($label = "Test Code", $amount = 1, $reward = null, array $data = [])

Check if given code exists and isn't used at all:

Promocodes::check($code)

Apply, that given code is used. Update database record. You will get promocode record back or true/false:

Promocodes::apply($code)

Promocodes can be related to users

If you want to use user relation open your model and make it Rewardable as in example:

namespace App;

use Illuminate\Notifications\Notifiable;
use Aira\Promocodes\Traits\Rewardable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable, Rewardable;
    
    // ...
}

Get all promocodes of current user:

User::promocodes()

There is query scopes for promocodes: fresh(), byCode($code):

  • User::promocodes()->fresh() - all not used codes of user
  • User::promocodes()->byCode($code) - record which matches given code

Create promocode(s) for current user. Works exactly same like create method of Promocodes:

User::createCode("Test Code", $amount = 1, $reward = null, array $data = [])

Apply, that given code is used by current user. Second argument is optional, if null, it will return promocode record or boolean, or you can pass callback function, which gives you reward or boolean value as argument:

User::applyCode($code, $callback = null)

Example:

$user = Auth::user();

$user->applyCode('ABCD-DCBA', function ($promocode) use ($user) {
    return 'Congratulations, ' . $user->name . '! We have added ' . $promocode->reward . ' points on your account'.
});

How to use additional data?

  1. Process of creation:
Promocodes::create("Test Code", 1, 25, ['foo' => 'bar', 'baz' => 'qux']);

or

User::createCode("Test Code", 1, 25, ['foo' => 'bar', 'baz' => 'qux']);
  1. Getting data back:
Promocodes::apply('ABC-DEF', function($promocode) {
    echo $pomocode->data['foo'];
});

or

User::applyCode('ABC-DEF', function($promocode) {
    echo $pomocode->data['foo'];
});

License

laravel-promocodes is licensed under a MIT License.

TODO

  • [x] Create tests to check funtionality

统计信息

  • 总下载量: 1.13k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-07-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固