@ -40,8 +40,8 @@ class GoodsReport extends EloquentRepository
}
$selects = Model :: $tableName . '.goods_id,' . Model :: $tableName . '.name,price,original_price,' . Model :: $tableName . '.cover_img,' . OrderMainModel :: $tableName . '.market_id,' . OrderModel :: $tableName . '.store_id,number,' . OrderMainModel :: $tableName . '.created_at,global_order_id' ;
$orderGoodsActivity = $this -> getDataModel ( $selects , $where );
$list = $orderGoodsActivity -> orderBy ( OrderMainModel :: $tableName . '.id' , 'desc' ) -> paginate ( $perPage );
$orderGoods = $this -> getDataModel ( $selects , $where );
$list = $orderGoods -> orderBy ( OrderMainModel :: $tableName . '.id' , 'desc' ) -> paginate ( $perPage );
$list = $list -> toArray ();
return $model -> makePaginator (
@ -53,6 +53,7 @@ class GoodsReport extends EloquentRepository
public function getDataModel ( $selects , $params = [])
{
// 获取筛选参数
$goodsId = $params [ 'goods_id' ] ? ? request () -> input ( 'goods_id' , 0 );
$name = $params [ 'name' ] ? ? request () -> input ( 'name' , '' );
$marketId = $params [ 'market_id' ] ? ? request () -> input ( 'market_id' , 0 );
$storeId = $params [ 'store_id' ] ? ? request () -> input ( 'store_id' , 0 );
@ -60,34 +61,38 @@ class GoodsReport extends EloquentRepository
$startTime = $params [ 'start_time' ] ? ? request () -> input ( 'start_time' , '' );
$endTime = $params [ 'end_time' ] ? ? request () -> input ( 'end_time' , '' );
$orderGoodsActivity = Model :: select ( DB :: raw ( $selects ))
$orderGoods = Model :: select ( DB :: raw ( $selects ))
-> join ( OrderModel :: $tableName , Model :: $tableName . '.order_id' , '=' , OrderModel :: $tableName . '.id' )
-> join ( OrderMainModel :: $tableName , OrderModel :: $tableName . '.order_main_id' , '=' , OrderMainModel :: $tableName . '.global_order_id' )
-> where ( Model :: $tableName . '.activity_type' , 1 )
-> where ( Model :: $tableName . '.status' , 1 )
-> whereIn ( OrderMainModel :: $tableName . '.state' ,[ 4 , 5 , 10 , 11 ]);
if ( $goodsId ){
$goodsIds = explode ( ',' , $goodsId );
$orderGoods -> whereIn ( Model :: $tableName . '.goods_id' , $goodsIds );
}
if ( $name ){
$orderGoodsActivity -> where ( Model :: $tableName . '.name' , 'like' , " % $name % " );
$orderGoods -> where ( Model :: $tableName . '.name' , 'like' , " % $name % " );
}
if ( $marketId ){
$orderGoodsActivity -> where ( 'market_id' , $marketId );
$orderGoods -> where ( 'market_id' , $marketId );
}
if ( $storeId ){
$orderGoodsActivity -> where ( 'store_id' , $storeId );
$orderGoods -> where ( 'store_id' , $storeId );
}
if ( $startTime ){
$startTime = $startTime . ' 00:00:00' ;
$orderGoodsActivity -> where ( Model :: $tableName . '.created_at' , '>=' , strtotime ( $startTime ));
$orderGoods -> where ( Model :: $tableName . '.created_at' , '>=' , strtotime ( $startTime ));
}
if ( $endTime ){
$endTime = $endTime . ' 23:59:59' ;
$orderGoodsActivity -> where ( Model :: $tableName . '.created_at' , '<=' , strtotime ( $endTime ));
$orderGoods -> where ( Model :: $tableName . '.created_at' , '<=' , strtotime ( $endTime ));
}
return $orderGoodsActivity ;
return $orderGoods ;
}
/**
@ -96,8 +101,8 @@ class GoodsReport extends EloquentRepository
public function getCountData ( $params = [])
{
$selects = " SUM(lanzu_order_goods.number) as total,SUM((original_price-price)*number) as subsidy_total,FROM_UNIXTIME(lanzu_order_goods.created_at,'%Y-%m-%d') as dtime " ;
$orderGoodsActivity = $this -> getDataModel ( $selects , $params );
$total = $orderGoodsActivity -> orderBy ( 'dtime' , 'asc' ) -> groupBy ( 'dtime' ) -> get () -> toArray ();
$orderGoods = $this -> getDataModel ( $selects , $params );
$total = $orderGoods -> orderBy ( 'dtime' , 'asc' ) -> groupBy ( 'dtime' ) -> get () -> toArray ();
return $total ? ? [];
}
@ -108,8 +113,8 @@ class GoodsReport extends EloquentRepository
public function getMarketData ( $params = [])
{
$selects = " SUM(lanzu_order_goods.number) as total,SUM((original_price-price)*number) as subsidy_total,market_id " ;
$orderGoodsActivity = $this -> getDataModel ( $selects , $params );
$total = $orderGoodsActivity -> groupBy ( 'market_id' ) -> get () -> toArray ();
$orderGoods = $this -> getDataModel ( $selects , $params );
$total = $orderGoods -> groupBy ( 'market_id' ) -> get () -> toArray ();
return $total ? ? [];
}