You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.1 KiB
77 lines
2.1 KiB
<?php
|
|
|
|
namespace App\Admin\Repositories\v3;
|
|
|
|
use App\Models\v3\GoodsActivity as Model;
|
|
use Dcat\Admin\Grid\Model as GridModel;
|
|
use Dcat\Admin\Repositories\EloquentRepository;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
|
|
class GoodsReport extends EloquentRepository
|
|
{
|
|
/**
|
|
* Model.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $eloquentClass = Model::class;
|
|
|
|
/**
|
|
* 获取统计列表数据
|
|
*/
|
|
public function get(GridModel $model)
|
|
{
|
|
$marketId = request()->input('market_id');
|
|
$time = date('Y-m-d',time());
|
|
$startTime = request()->input('start_time');
|
|
$endTime = request()->input('end_time');
|
|
|
|
$orderMainOnline = Model::select(DB::raw('COUNT(id) AS total_num'));
|
|
|
|
if($marketId){
|
|
$orderMainOnline->where('market_id',$marketId);
|
|
}
|
|
if($startTime){
|
|
$date = $startTime;
|
|
$startTime = $startTime.' 00:00:00';
|
|
|
|
$orderMainOnline->where([['created_at','>=',strtotime($startTime)]]);
|
|
|
|
}else{
|
|
$date = '2020-06-01';
|
|
}
|
|
if($endTime){
|
|
$date = $date.' 至 '.$endTime;
|
|
$endTime = $endTime.' 23:59:59';
|
|
|
|
$orderMainOnline->where([['created_at','<=',strtotime($endTime)]]);
|
|
|
|
}else{
|
|
$date .= ' 至 '.$time;
|
|
}
|
|
if(empty($startTime) && empty($endTime)){
|
|
|
|
$date = $time;
|
|
$todayStart = $time.' 00:00:00';
|
|
$todayEnd = $time.' 23:59:59';
|
|
|
|
$orderMainOnline->where([['created_at','>=',strtotime($todayStart)]]);
|
|
}
|
|
|
|
$orderReportOnline = $orderMainOnline->get()->toArray();
|
|
|
|
$query = [
|
|
'order_total_num_online' => !empty($orderReportOnline[0]['total_num'])?$orderReportOnline[0]['total_num']:0,
|
|
'order_total_money_online' => !empty($orderReportOnline[0]['total_money'])?$orderReportOnline[0]['total_money']:0,
|
|
|
|
'user_total' => !empty($userTotal[0]['total'])?$userTotal[0]['total']:0,
|
|
];
|
|
|
|
$list = [];
|
|
|
|
return $model->makePaginator(
|
|
count($list),$list
|
|
);
|
|
}
|
|
}
|