|
|
|
@ -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); |
|
|
|
} |
|
|
|
|
|
|
|
@ -28,7 +31,9 @@ class OrderData extends Card |
|
|
|
$this->dropdown([ |
|
|
|
'1' => '今日', |
|
|
|
'-1' => '昨日', |
|
|
|
'7'=>'过去一周', |
|
|
|
'7' => '最近7天', |
|
|
|
'w' => '本周', |
|
|
|
'lw' => '上周', |
|
|
|
'30' => '本月', |
|
|
|
'-30' => '上月' |
|
|
|
]); |
|
|
|
@ -40,10 +45,11 @@ 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; |
|
|
|
@ -55,6 +61,9 @@ class OrderData extends Card |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if (count($user_ids)) { |
|
|
|
$where[] = ['in' => ['user_id' => $user_ids]]; |
|
|
|
} |
|
|
|
|
|
|
|
switch ($type) { |
|
|
|
case '1': |
|
|
|
@ -69,6 +78,14 @@ class OrderData extends Card |
|
|
|
$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')); |
|
|
|
@ -90,13 +107,16 @@ class OrderData extends Card |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public function orderNum($data_type,$type,$marketId) |
|
|
|
public function orderNum($data_type, $type, $marketId, $user_ids) |
|
|
|
{ |
|
|
|
$build = $this->orderDataBuild($type,$marketId); |
|
|
|
$build = $this->orderDataBuild($type, $marketId, $user_ids); |
|
|
|
if ($data_type == 'number') { |
|
|
|
$result = $build->count(); |
|
|
|
} elseif ($data_type == 'amount') { |
|
|
|
$result = $build->sum('money'); |
|
|
|
} elseif ($data_type == 'user') { |
|
|
|
$result = $build->groupBy('user_id')->pluck('user_id')->toArray(); |
|
|
|
$result = count($result); |
|
|
|
} else { |
|
|
|
$result = 0; |
|
|
|
} |
|
|
|
@ -110,6 +130,7 @@ class OrderData extends Card |
|
|
|
return [ |
|
|
|
'data_type' => $this->data_type, |
|
|
|
'market_id' => $this->market_id, |
|
|
|
'user_ids' => $this->user_ids |
|
|
|
]; |
|
|
|
} |
|
|
|
|
|
|
|
|