@ -22,22 +22,40 @@ class GoodsReport extends EloquentRepository
*/
public function get ( GridModel $model )
{
// 获取当前页数
$currentPage = $model -> getCurrentPage ();
// 获取每页显示行数
$perPage = $model -> getPerPage ();
// 获取筛选参数
$name = request () -> input ( 'name' , '' );
$marketId = request () -> input ( 'market_id' );
$storeId = request () -> input ( 'store_id' );
$time = date ( 'Y-m-d' , time ());
$startTime = request () -> input ( 'start_time' );
$endTime = request () -> input ( 'end_time' );
$orderGoodsActivity = Model :: select ( DB :: raw ( 'COUNT(goods.id) as total,goods_id,goods.name' ));
$orderGoodsActivity = Model :: select ( DB :: raw ( 'COUNT(lanzu_order_goods.id) as total,lanzu_order_goods.goods_id,lanzu_order_goods.name,lanzu_order_goods.cover_img,lanzu_order_main.market_id,lanzu_order.store_id' ))
-> join ( 'lanzu_order' , 'lanzu_order_goods.order_id' , '=' , 'lanzu_order.id' )
-> join ( 'lanzu_order_main' , 'lanzu_order.order_main_id' , '=' , 'lanzu_order_main.global_order_id' )
-> where ( 'lanzu_order_goods.activity_type' , 2 )
-> where ( 'lanzu_order_goods.status' , 1 )
-> whereIn ( 'lanzu_order_main.state' ,[ 4 , 5 , 10 , 11 ])
;
if ( $name ){
$orderGoodsActivity -> where ( 'lanzu_order_goods.name' , 'like' , " % $name % " );
}
if ( $marketId ){
$orderGoodsActivity -> where ( 'market_id' , $marketId );
}
if ( $storeId ){
$orderGoodsActivity -> where ( 'store_id' , $storeId );
}
if ( $startTime ){
$date = $startTime ;
$startTime = $startTime . ' 00:00:00' ;
$orderGoodsActivity -> where ([[ 'created_at' , '>=' , strtotime ( $startTime )]]);
$orderGoodsActivity -> where ([[ 'lanzu_order_goods.created_at' , '>=' , strtotime ( $startTime )]]);
} else {
$date = '2020-06-01' ;
}
@ -45,33 +63,24 @@ class GoodsReport extends EloquentRepository
$date = $date . ' 至 ' . $endTime ;
$endTime = $endTime . ' 23:59:59' ;
$orderGoodsActivity -> where ([[ 'created_at' , '<=' , strtotime ( $endTime )]]);
$orderGoodsActivity -> where ([[ 'lanzu_order_goods.created_at' , '<=' , strtotime ( $endTime )]]);
} else {
$date .= ' 至 ' . $time ;
}
if ( empty ( $startTime ) && empty ( $endTime )){
$date = $time ;
$todayStart = $time . ' 00:00:00' ;
$todayEnd = $time . ' 23:59:59' ;
$orderGoodsActivity -> where ([[ 'created_at' , '>=' , strtotime ( $todayStart )]]);
}
// if(empty($startTime) && empty($endTime)){
// $date = $time;
// $todayStart = $time.' 00:00:00';
// $todayEnd = $time.' 23:59:59';
// $orderGoodsActivity->where([['lanzu_order_goods.created_at','>=',strtotime($todayStart)]]);
// $orderGoodsActivity->where([['lanzu_order_goods.created_at','<=',strtotime($todayEnd)]]);
// }
$orderReportOnline = $orderGoodsActivity -> 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 = $orderGoodsActivity -> groupBy ( 'goods_id' , 'lanzu_order_goods.name' , 'cover_img' , 'market_id' , 'store_id' ) -> paginate ( $perPage );
$list = $list -> toArray ();
$list = [];
return $model -> makePaginator (
count ( $list ), $list
$list [ 'total' ] ? ? 0 , $list [ 'data' ] ? ? []
);
}
}