|
|
|
@ -1,6 +1,6 @@ |
|
|
|
<?php |
|
|
|
namespace App\Admin\Metrics\Examples\Order; |
|
|
|
|
|
|
|
namespace App\Admin\Metrics\Examples\Order; |
|
|
|
|
|
|
|
|
|
|
|
use App\Models\ImsCjdcOrder; |
|
|
|
@ -14,11 +14,14 @@ class OrderData extends Card |
|
|
|
protected $title; |
|
|
|
protected $data_type; |
|
|
|
protected $market_id; |
|
|
|
public function __construct($data_type=null,$market_id=null,$title = null, $icon = null) |
|
|
|
protected $user_ids; |
|
|
|
|
|
|
|
public function __construct($data_type = null, $market_id = null, $title = null, $uid = [], $icon = null) |
|
|
|
{ |
|
|
|
$this->title = $title; |
|
|
|
$this->data_type = $data_type; |
|
|
|
$this->market_id = $market_id; |
|
|
|
$this->user_ids = $uid; |
|
|
|
parent::__construct($title, $icon); |
|
|
|
} |
|
|
|
|
|
|
|
@ -26,11 +29,13 @@ class OrderData extends Card |
|
|
|
{ |
|
|
|
parent::init(); // TODO: Change the autogenerated stub
|
|
|
|
$this->dropdown([ |
|
|
|
'1'=>'今日', |
|
|
|
'-1'=>'昨日', |
|
|
|
'7'=>'过去一周', |
|
|
|
'30'=>'本月', |
|
|
|
'-30'=>'上月' |
|
|
|
'1' => '今日', |
|
|
|
'-1' => '昨日', |
|
|
|
'7' => '最近7天', |
|
|
|
'w' => '本周', |
|
|
|
'lw' => '上周', |
|
|
|
'30' => '本月', |
|
|
|
'-30' => '上月' |
|
|
|
]); |
|
|
|
|
|
|
|
} |
|
|
|
@ -40,64 +45,79 @@ class OrderData extends Card |
|
|
|
$type = $request->get('option');//数据选项
|
|
|
|
$data_type = $request->get('data_type');//数据类型
|
|
|
|
$market_id = $request->get('market_id');//市场id
|
|
|
|
$this->content($this->orderNum($data_type,$type,$market_id)); |
|
|
|
$user_ids = $request->get('user_ids');//市场id
|
|
|
|
$this->content($this->orderNum($data_type, $type, $market_id, $user_ids)); |
|
|
|
} |
|
|
|
|
|
|
|
public function orderDataBuild($type=null,$marketId=null) |
|
|
|
public function orderDataBuild($type = null, $marketId = null, $user_ids = []) |
|
|
|
{ |
|
|
|
$where = []; |
|
|
|
$where['type'] = 1; |
|
|
|
if ($marketId){ |
|
|
|
if (is_array($marketId)){ |
|
|
|
$where[] = ['in'=>['market_id'=>$marketId]]; |
|
|
|
}else{ |
|
|
|
if ($marketId) { |
|
|
|
if (is_array($marketId)) { |
|
|
|
$where[] = ['in' => ['market_id' => $marketId]]; |
|
|
|
} else { |
|
|
|
$where['market_id'] = $marketId; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if (count($user_ids)) { |
|
|
|
$where[] = ['in' => ['user_id' => $user_ids]]; |
|
|
|
} |
|
|
|
|
|
|
|
switch ($type){ |
|
|
|
switch ($type) { |
|
|
|
case '1': |
|
|
|
$beginTime=mktime(0,0,0,date('m'),date('d'),date('Y')); |
|
|
|
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; |
|
|
|
$beginTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')); |
|
|
|
$endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; |
|
|
|
break; |
|
|
|
case '-1': |
|
|
|
$beginTime=mktime(0,0,0,date('m'),date('d')-1,date('Y')); |
|
|
|
$endTime=mktime(0,0,0,date('m'),date('d'),date('Y'))-1; |
|
|
|
$beginTime = mktime(0, 0, 0, date('m'), date('d') - 1, date('Y')); |
|
|
|
$endTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')) - 1; |
|
|
|
break; |
|
|
|
case '7': |
|
|
|
$beginTime=mktime(0,0,0,date('m'),date('d')-7,date('Y')); |
|
|
|
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; |
|
|
|
$beginTime = mktime(0, 0, 0, date('m'), date('d') - 7, date('Y')); |
|
|
|
$endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; |
|
|
|
break; |
|
|
|
case 'w': |
|
|
|
$beginTime = mktime(0, 0, 0, date("m"), date("d") - date("w") + 1, date("Y")); |
|
|
|
$endTime = mktime(23, 59, 59, date("m"), date("d") - date("w") + 7, date("Y")); |
|
|
|
break; |
|
|
|
case 'lw': |
|
|
|
$beginTime = mktime(0, 0, 0, date("m"), date("d") - date("w") + 1 - 7, date("Y")); |
|
|
|
$endTime = mktime(23, 59, 59, date("m"), date("d") - date("w") + 7 - 7, date("Y")); |
|
|
|
break; |
|
|
|
case '30': |
|
|
|
$beginTime=mktime(0,0,0,date('m'),1,date('Y')); |
|
|
|
$endTime=mktime(23,59,59,date('m'),date('t'),date('Y')); |
|
|
|
$beginTime = mktime(0, 0, 0, date('m'), 1, date('Y')); |
|
|
|
$endTime = mktime(23, 59, 59, date('m'), date('t'), date('Y')); |
|
|
|
break; |
|
|
|
case '-30': |
|
|
|
$beginTime=mktime(0,0,0,date('m')-1,1,date('Y')); |
|
|
|
$endTime=strtotime(date("Y-m-d H:i:s",mktime(23,59,59,date("m") ,0,date("Y")))); |
|
|
|
$beginTime = mktime(0, 0, 0, date('m') - 1, 1, date('Y')); |
|
|
|
$endTime = strtotime(date("Y-m-d H:i:s", mktime(23, 59, 59, date("m"), 0, date("Y")))); |
|
|
|
break; |
|
|
|
default: |
|
|
|
$beginTime=mktime(0,0,0,date('m'),date('d'),date('Y')); |
|
|
|
$endTime=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; |
|
|
|
$beginTime = mktime(0, 0, 0, date('m'), date('d'), date('Y')); |
|
|
|
$endTime = mktime(0, 0, 0, date('m'), date('d') + 1, date('Y')) - 1; |
|
|
|
break; |
|
|
|
} |
|
|
|
$build = ImsCjdcOrderMain |
|
|
|
::whereBetween('created_at',[$beginTime,$endTime]) |
|
|
|
->whereIn('state',[3,4,5,10]) |
|
|
|
::whereBetween('created_at', [$beginTime, $endTime]) |
|
|
|
->whereIn('state', [3, 4, 5, 10]) |
|
|
|
->where($where); |
|
|
|
return $build; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public function orderNum($data_type,$type,$marketId) |
|
|
|
public function orderNum($data_type, $type, $marketId, $user_ids) |
|
|
|
{ |
|
|
|
$build = $this->orderDataBuild($type,$marketId); |
|
|
|
if ($data_type=='number'){ |
|
|
|
$build = $this->orderDataBuild($type, $marketId, $user_ids); |
|
|
|
if ($data_type == 'number') { |
|
|
|
$result = $build->count(); |
|
|
|
}elseif ($data_type=='amount'){ |
|
|
|
} elseif ($data_type == 'amount') { |
|
|
|
$result = $build->sum('money'); |
|
|
|
}else{ |
|
|
|
} elseif ($data_type == 'user') { |
|
|
|
$result = $build->groupBy('user_id')->pluck('user_id')->toArray(); |
|
|
|
$result = count($result); |
|
|
|
} else { |
|
|
|
$result = 0; |
|
|
|
} |
|
|
|
return $result; |
|
|
|
@ -105,11 +125,12 @@ class OrderData extends Card |
|
|
|
|
|
|
|
|
|
|
|
// 传递自定义参数到 handle 方法
|
|
|
|
public function parameters() : array |
|
|
|
public function parameters(): array |
|
|
|
{ |
|
|
|
return [ |
|
|
|
'data_type'=>$this->data_type, |
|
|
|
'market_id'=>$this->market_id, |
|
|
|
'data_type' => $this->data_type, |
|
|
|
'market_id' => $this->market_id, |
|
|
|
'user_ids' => $this->user_ids |
|
|
|
]; |
|
|
|
} |
|
|
|
|
|
|
|
|