artisan工具+定时任务实现P2P平台日收益
在Laravel框架中,可以自定义artisan工具,生成特定的命令,然后在Linux系统中和定时任务配合,就可以实现P2P借贷平台的日收益。
- 1、自定义artisan工具
首先切换到Laravel框架的根目录,执行命令就可以创建关于artisan的新命令。
php artisan make:console grow
然后切换到app/Console/Commands目录下,就可以查看到新创建的命令文件,文件名为:Grow.php,修改Grow.php。
<?php
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
use IlluminateHttpRequest;
use AppHttpRequests;
use AppHttpControllersController;
use AppTask;
use AppGrow as GrowModel;
use AppPro;
class Grow extends Command
{
/**
* 命令的签名
*
* @var string
*/
protected $signature = 'grow';
/**
* 命令的说明
*
* @var string
*/
protected $description = '涨利';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* 实现日收益的逻辑,主要是往数据库中写收益数据
*
* @return mixed
*/
public function handle()
{
$today = date('Y-m-d');
$tasks = Task::where('enddate','>=',$today)->get();
foreach($tasks as $task){
$pro = Pro::find($task->pid);
$data = ['uid'=>$task->uid,'pid'=>$task->pid,'amount'=>$task->amount,'gtime'=>time(),'title'=>$pro->title];
GrowModel::create($data);
}
$this->info('涨利完成');
}
}
最后执行:
php artisan grow
- 2、设置定时任务
首先输入,打开定时任务编辑文件
crontab -e
然后输入:
* * */1 * * /usr/sbin/php /usr/local/nginx/html/jr/artisan grow
这样就可以实现日收益了。
注意:/usr/sbin下建立了一个php命令的软连接 ,artisan工具必须要指定全路径