@ -31,13 +31,10 @@ class OrderReport extends EloquentRepository
*/
public function get ( GridModel $model )
{
$this -> setSort ( $model );
$this -> setPaginate ( $model );
$marketId = request () -> input ( 'market_id' );
$startTime = request () -> input ( 'start_time' );
$endTime = request () -> input ( 'end_time' );
$orderMain = orderMainModel :: select ( DB :: raw ( 'COUNT(id) AS total_num, SUM(money) AS total_money' )) -> whereIn ( 'state' ,[ 4 , 5 , 10 ]);
$storeNewUser = StoreAccountModel :: select ( DB :: raw ( " SUM( CASE WHEN note = '新用户下单成功,平台奖励' THEN 1 ELSE 0 END ) AS new_add_total, SUM( CASE WHEN note = '新用户下单成功,平台奖励' THEN money ELSE 0 END ) AS new_user_total,SUM( CASE WHEN note = '用户下单成功,平台奖励' THEN money ELSE 0 END ) AS store_total " ));
@ -52,45 +49,74 @@ class OrderReport extends EloquentRepository
$storeNewUser -> whereIn ( 'store_id' , $storeIds );
}
if ( $startTime ){
$startTime = $startTime . ' 00:00:00' ;
$orderMain -> where ([[ 'created_at' , '>=' , strtotime ( $startTime )]]);
$storeNewUser -> where ([[ 'time' , '>=' , $startTime ]]);
$newUser -> where ([[ 'created_at' , '>=' , strtotime ( $startTime )]]);
}
if ( $endTime ){
$endTime = $endTime . ' 23:59:59' ;
$orderMain -> where ([[ 'created_at' , '<=' , strtotime ( $endTime )]]);
$storeNewUser -> where ([[ 'time' , '<=' , $endTime ]]);
$newUser -> where ([[ 'created_at' , '<=' , strtotime ( $endTime )]]);
}
if ( empty ( $startTime ) && empty ( $endTime )){
$time = date ( 'Y-m-d' , time ());
$todayStart = $time . '00:00:00' ;
$todayEnd = $time . '23:59:59' ;
$todayStart = $time . ' 00:00:00' ;
$todayEnd = $time . ' 23:59:59' ;
$orderMain -> where ([[ 'created_at' , '>=' , strtotime ( $todayStart )]]);
$storeNewUser -> where ([[ 'time' , '>=' , $todayStart ]]);
$newUser -> where ([[ 'created_at' , '>=' , strtotime ( $todayStart )]]);
$orderMain -> where ([[ 'created_at' , '<=' , strtotime ( $todayEnd )]]);
$storeNewUser -> where ([[ 'time' , '<=' , $todayEnd ]]);
$newUser -> where ([[ 'created_at' , '<=' , strtotime ( $todayEnd )]]);
}
// 订单总额
$orderReport = $orderMain -> get () -> toArray (); //dd($orderReport);
$orderReport = $orderMain -> get () -> toArray ();
// 总补贴金额
$storeNewUser = $storeNewUser -> get ();
$storeNewUsers = $storeNewUser -> get () -> toArray ();
// 总用户
$userTotal = $newUser -> get ();
$userTotal = $newUser -> get () -> toArray () ;
$query = [
'order_total_num' => $orderReport [ 'total_num'],
'order_total_money' => $orderReport [ 'total_money'],
$query = [
'order_total_num' => ! empty ( $orderReport [ 0 ][ 'total_num']) ? $orderReport [ 0 ][ 'total_num' ] : 0 ,
'order_total_money' => ! empty ( $orderReport [ 0 ][ 'total_money']) ? $orderReport [ 0 ][ 'total_money' ] : 0 ,
'new_user_total_money' => $storeNewUser [ 'new_user_total'],
'store_user_total_money' => $storeNewUser [ 'store_total'],
'new_add_user' => $userTotal [ 'new_add_total' ],
'new_user_total_money' => ! empty ( $storeNewUsers [ 0 ][ 'new_user_total']) ? $storeNewUsers [ 0 ][ 'new_user_total' ] : 0 ,
'store_user_total_money' => ! empty ( $storeNewUsers [ 0 ][ 'store_total']) ? $storeNewUsers [ 0 ][ 'store_total' ] : 0 ,
'new_add_user' => ! empty ( $storeNewUsers [ 0 ][ 'new_add_total' ]) ? $storeNewUsers [ 0 ] ['new_add_total' ] : 0 ,
'user_total' => $newUser [ 'total' ],
'user_total' => ! empty ( $userTotal [ 0 ][ 'total' ]) ? $userTotal [ 0 ][ 'total' ] : 0 ,
];
$list = [
[
'key' => 'user_total' ,
'name' => '现存用户总数' ,
'value' => $query [ 'user_total' ]
],
[
'key' => 'order_total_num' ,
'name' => '订单总额' ,
'value' => $query [ 'order_total_num' ]
],
[
'key' => 'new_user_total_money' ,
'name' => '平台新用户补贴总额' ,
'value' => $query [ 'new_user_total_money' ]
],
[
'key' => 'store_user_total_money' ,
'name' => '店铺用户每日首单补贴' ,
'value' => $query [ 'store_user_total_money' ]
],
[
'key' => 'new_add_user' ,
'name' => '新增用户数' ,
'value' => $query [ 'new_add_user' ]
]
];
return $query ;
return $model -> makePaginator (
count ( $list ), $list
);
}
}