diff --git a/app/Admin/Controllers/StoreUserReportController.php b/app/Admin/Controllers/StoreUserReportController.php index 3488f2e..91af080 100644 --- a/app/Admin/Controllers/StoreUserReportController.php +++ b/app/Admin/Controllers/StoreUserReportController.php @@ -45,8 +45,9 @@ class StoreUserReportController extends AdminController $filter->equal('start_time','开始时间')->date()->width(2); $filter->equal('end_time','结束时间')->date()->width(2); - $filter->equal('market_id')->select($marketList)->width(3); - $filter->in('store_id','店铺名称')->multipleSelect($storeList)->width(4); + $filter->equal('market_id')->select($marketList)->width(2); + $filter->in('store_id','店铺名称')->multipleSelect($storeList)->width(3); + $filter->equal('store_ids','店铺ID')->width(3); }); $grid->tools([ new DataReportOption('today','store_new_user','今日'), diff --git a/app/Admin/Controllers/v3/GoodsActivityReportController.php b/app/Admin/Controllers/v3/GoodsActivityReportController.php index 0b5241a..97fcb59 100644 --- a/app/Admin/Controllers/v3/GoodsActivityReportController.php +++ b/app/Admin/Controllers/v3/GoodsActivityReportController.php @@ -65,7 +65,8 @@ class GoodsActivityReportController extends AdminController $filter->panel(); $filter->equal('start_time','开始时间')->date()->width(2); $filter->equal('end_time','结束时间')->date()->width(2); - $filter->equal('name','商品名称')->width(3); + $filter->equal('goods_id','活动商品ID')->width(2); + $filter->equal('name','活动商品名称')->width(3); if(!$this->marketId){ $filter->equal('market_id','市场')->select($marketList)->width(2); } diff --git a/app/Admin/Controllers/v3/GoodsReportController.php b/app/Admin/Controllers/v3/GoodsReportController.php index 7802436..7ab12c2 100644 --- a/app/Admin/Controllers/v3/GoodsReportController.php +++ b/app/Admin/Controllers/v3/GoodsReportController.php @@ -75,6 +75,7 @@ class GoodsReportController extends AdminController $filter->panel(); $filter->equal('start_time','开始时间')->date()->width(2); $filter->equal('end_time','结束时间')->date()->width(2); + $filter->equal('goods_id','商品ID')->width(2); $filter->equal('name','商品名称')->width(2); if(!$this->marketId){ $filter->equal('market_id','市场')->select($marketList)->width(2); diff --git a/app/Admin/Repositories/StoreUserReport.php b/app/Admin/Repositories/StoreUserReport.php index e6feb53..b11b5c8 100644 --- a/app/Admin/Repositories/StoreUserReport.php +++ b/app/Admin/Repositories/StoreUserReport.php @@ -37,7 +37,8 @@ class StoreUserReport extends EloquentRepository $startTime = $params['start_time'] ?? request()->input('start_time',''); $endTime = $params['end_time'] ?? request()->input('end_time',''); $marketId = $params['market_id'] ?? request()->input('market_id',0); - $storeIds = $params['store_id'] ?? request()->input('store_id',[]); + $storeId = $params['store_id'] ?? request()->input('store_id',[]); + $storeIds = $params['store_ids'] ?? request()->input('store_ids',''); /* 根据流水查询 2020-08-18 用全匹配文字方式查询新用户 旧表 */ $storeAccount = StoreAccountModel::join(Model::$tableName.' as store',StoreAccountModel::$tableName.'.store_id','store.id') @@ -117,8 +118,8 @@ class StoreUserReport extends EloquentRepository $financial3->whereRaw(Model::$tableName.'.market_id ='.$marketId); $financial4->whereRaw(Model::$tableName.'.market_id ='.$marketId); } - if($storeIds){ - $storeStr = implode(',',$storeIds); + if($storeId){ + $storeStr = implode(',',$storeId); $storeAccount->whereRaw('store.id in('. $storeStr.')'); $financial0->whereRaw(Model::$tableName.'.id in('. $storeStr.')'); $financial1->whereRaw(Model::$tableName.'.id in('. $storeStr.')'); @@ -126,6 +127,20 @@ class StoreUserReport extends EloquentRepository $financial3->whereRaw(Model::$tableName.'.id in('. $storeStr.')'); $financial4->whereRaw(Model::$tableName.'.id in('. $storeStr.')'); } + if($storeIds){ + $storeIds = trim($storeIds,','); + $expression = "/^[,0-9]+$/u"; + preg_match($expression,$storeIds,$matches); + $storeIds = $matches[0] ?? 0; + + $storeAccount->whereRaw('store.id in('. $storeIds.')'); + $financial0->whereRaw(Model::$tableName.'.id in('. $storeIds.')'); + $financial1->whereRaw(Model::$tableName.'.id in('. $storeIds.')'); + $financial2->whereRaw(Model::$tableName.'.id in('. $storeIds.')'); + $financial3->whereRaw(Model::$tableName.'.id in('. $storeIds.')'); + $financial4->whereRaw(Model::$tableName.'.id in('. $storeIds.')'); + } + $unionAll = $storeAccount->union($financial0)->union($financial1)->union($financial2)->union($financial3)->union($financial4); $query = DB::table(Db::raw("({$unionAll->toSql()}) as a1")) ->select('a1.store_id','a1.store_name','a1.market_id',DB::raw('SUM(a1.new_user_total) as new_total')) diff --git a/app/Admin/Repositories/v3/GoodsActivityReport.php b/app/Admin/Repositories/v3/GoodsActivityReport.php index 1452f26..6246310 100644 --- a/app/Admin/Repositories/v3/GoodsActivityReport.php +++ b/app/Admin/Repositories/v3/GoodsActivityReport.php @@ -54,6 +54,7 @@ class GoodsActivityReport extends EloquentRepository { $time = date('Y-m-d',time()); // 获取筛选参数 + $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); @@ -68,6 +69,10 @@ class GoodsActivityReport extends EloquentRepository ->where(Model::$tableName.'.status',1) ->whereIn(OrderMainModel::$tableName.'.state',[4,5,10,11]); + if($goodsId){ + $goodsIds = explode(',',$goodsId); + $orderGoodsActivity->whereIn(Model::$tableName.'.goods_id',$goodsIds); + } if($name){ $orderGoodsActivity->where(Model::$tableName.'.name','like',"%$name%"); } diff --git a/app/Admin/Repositories/v3/GoodsReport.php b/app/Admin/Repositories/v3/GoodsReport.php index 2fe9428..23d48d7 100644 --- a/app/Admin/Repositories/v3/GoodsReport.php +++ b/app/Admin/Repositories/v3/GoodsReport.php @@ -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 ?? []; }