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工具必须要指定全路径

原文地址:https://www.cnblogs.com/cnsec/p/13407032.html