Browse Source

Merge branch 'goods_report_1103'

master
liangyuyan 5 years ago
parent
commit
c4a80a48d7
  1. 5
      app/Admin/Controllers/StoreUserReportController.php
  2. 3
      app/Admin/Controllers/v3/GoodsActivityReportController.php
  3. 1
      app/Admin/Controllers/v3/GoodsReportController.php
  4. 21
      app/Admin/Repositories/StoreUserReport.php
  5. 5
      app/Admin/Repositories/v3/GoodsActivityReport.php
  6. 31
      app/Admin/Repositories/v3/GoodsReport.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','今日'),

3
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);
}

1
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);

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 = "/^[,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'))

5
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%");
}

31
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 ?? [];
}

Loading…
Cancel
Save