jingcai-php/app/Console/Commands/Report/GenerateDayWin.php

79 lines
2.1 KiB
PHP
Executable File

<?php
namespace App\Console\Commands\Report;
use App\Enums\OrderType;
use App\Model\Order;
use App\Model\Report\ReportDayWin;
use Illuminate\Console\Command;
class GenerateDayWin extends Command
{
/**
* 这个就是命令名称
*/
protected $signature = 'report:generate_day_win {cdate?}';
/**
* 命令的说明描述
* @var string
*/
protected $description = '';
/**
* 创建命令的构造方法。
* @param string $words 传入的字符参数
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* 命令的具体执行触发方法
* @return mixed
*/
public function handle()
{
$cdate = $this->argument('cdate');
if (!$cdate) {
$cdate = date('Ymd');
}
$winOrders = Order::where('win_date', $cdate)->get();
foreach ($winOrders as $order) {
$this->report($order);
}
}
public function report($order)
{
if (!$order) {
return;
}
$report = ReportDayWin::where('cdate', $order->win_date)
->where('order_id', $order->id)
->first();
if (!$report) {
$report = new ReportDayWin();
}
$report->cdate = $order->win_date;
$report->customer_id = $order->customer_id;
$report->order_id = $order->id;
$report->shop_id = $order->shop_id;
$report->lottery_id = $order->lottery_id;
if ($order->type == OrderType::UNION) {
$report->order_money = $order->union_money;
$report->order_prize = $order->union_should_send_prize;
$report->order_tax_prize = $order->union_send_prize;
$report->order_send_prize = $order->union_send_prize;
} else {
$report->order_money = $order->money;
$report->order_prize = $order->lottery_prize;
$report->order_tax_prize = $order->lottery_tax_prize;
$report->order_send_prize = $order->lottery_send_prize;
}
$report->save();
}
}