Browse Source

店铺--新用户统计,添加店铺ID搜索

master
liangyuyan 5 years ago
parent
commit
1d05cbc266
  1. 5
      app/Admin/Controllers/StoreUserReportController.php
  2. 21
      app/Admin/Repositories/StoreUserReport.php

5
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','今日'),

21
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 = "/^[,1-9]+$/";
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'))

Loading…
Cancel
Save