From 0479c87f01fc9c1e15f8c4be4a06a79b874c3883 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Tue, 18 Aug 2020 12:00:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=97=E9=93=BA=E6=96=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1-=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/StoreUserReportController.php | 27 +++++++-- app/Models/ImsCjdcOrder.php | 25 ++++++++ app/Models/ImsCjdcOrderMain.php | 57 +++++++++++++++++++ resources/lang/zh-CN/store-user-report.php | 6 +- 4 files changed, 109 insertions(+), 6 deletions(-) create mode 100644 app/Models/ImsCjdcOrder.php create mode 100644 app/Models/ImsCjdcOrderMain.php diff --git a/app/Admin/Controllers/StoreUserReportController.php b/app/Admin/Controllers/StoreUserReportController.php index 1b7ef23..af19c38 100644 --- a/app/Admin/Controllers/StoreUserReportController.php +++ b/app/Admin/Controllers/StoreUserReportController.php @@ -3,10 +3,14 @@ namespace App\Admin\Controllers; use App\Admin\Repositories\StoreUserReport; +use App\Models\ImsCjdcOrderMain; +use App\Models\storeUserReport as ModelsStoreUserReport; use Dcat\Admin\Form; use Dcat\Admin\Grid; use Dcat\Admin\Show; use Dcat\Admin\Controllers\AdminController; +use App\Models\ImsCjdcOrder; +use Illuminate\Support\Facades\DB; class StoreUserReportController extends AdminController { @@ -17,15 +21,30 @@ class StoreUserReportController extends AdminController */ protected function grid() { - return Grid::make(new StoreUserReport(), function (Grid $grid) { - $grid->id->sortable(); + $startTime = '2020-06-01';$endTime = '2020-07-01'; + $orderModel = new ImsCjdcOrder(); + $newModel = $orderModel->with([ + 'store:id,market_id,name,mm_user_id', + 'user'=> function($query) use($startTime,$endTime){ + $query->selectRaw(DB::raw('count(distinct user_id) as new_user_total'))->whereRaw("join_time BETWEEN UNIX_TIMESTAMP('?') AND UNIX_TIMESTAMP('?')",[$startTime,$endTime]); + }]) + ->whereRaw("UNIX_TIMESTAMP(pay_time) BETWEEN UNIX_TIMESTAMP('?') AND UNIX_TIMESTAMP('?')",[$startTime,$endTime]) + ->select('store_id') + ->groupBy('store_id') + ->orderBy('market_id','desc') + ->orderbY('new_user_total','desc'); + // return Grid::make(new StoreUserReport(), function (Grid $grid) { + return Grid::make($newModel, function (Grid $grid) { + $grid->disableCreateButton(); + + $grid->store_id; $grid->market_id; - $grid->name; + $grid->store_name; $grid->mm_user_id; $grid->new_user_total; $grid->filter(function (Grid\Filter $filter) { - $filter->equal('id'); + $filter->equal('store_id'); }); }); diff --git a/app/Models/ImsCjdcOrder.php b/app/Models/ImsCjdcOrder.php new file mode 100644 index 0000000..f0e1f95 --- /dev/null +++ b/app/Models/ImsCjdcOrder.php @@ -0,0 +1,25 @@ +hasOne('\App\Models\ImsCjdcUser','id','user_id'); + } + + public function store() + { + return $this->hasOne('\App\Models\ImsCjdcStore','id','store_id'); + } + +} diff --git a/app/Models/ImsCjdcOrderMain.php b/app/Models/ImsCjdcOrderMain.php new file mode 100644 index 0000000..e9f4d63 --- /dev/null +++ b/app/Models/ImsCjdcOrderMain.php @@ -0,0 +1,57 @@ +hasOne('\App\Models\ImsCjdcUser','id','user_id'); + } + + public function market() + { + return $this->hasOne('\App\Models\ImsCjdcMarket','id','market_id'); + } + + /** + * 同时变更主订单和子订单状态, + * @param $oid //主订单id + * @param $state //订单状态 + */ + public function modifyState($oid,$state) + { + return DB::transaction(function () use ($oid,$state){ + $data1['state'] = $data2['state'] = $state; + $data1['update_time'] = time(); + if ($state == 4) { + $data1['complete_time'] = $data2['complete_time'] = time(); + + } elseif ($state == 3) { + $data1['jd_time'] = $data2['jd_time'] = time(); + } + DB::table('ims_cjdc_order_main') + ->where('id',$oid) + ->update($data1); + DB::table('ims_cjdc_order') + ->where('order_main_id',$oid) + ->update($data2); + if ($state==4){ + //添加店铺流水记录 + $account = new StoreAccount(); + $account->addStoreAccount($oid); + } + return true; + }); + + } +} diff --git a/resources/lang/zh-CN/store-user-report.php b/resources/lang/zh-CN/store-user-report.php index 8fcde6d..bdebb38 100644 --- a/resources/lang/zh-CN/store-user-report.php +++ b/resources/lang/zh-CN/store-user-report.php @@ -1,11 +1,13 @@ [ - 'StoreUserReport' => 'StoreUserReport', + 'StoreUserReport' => '店铺新用户报表', + 'storeUserReport' => '店铺新用户报表', ], 'fields' => [ + 'store_id' => '店铺ID', 'market_id' => '所属市场', - 'name' => '商家名称', + 'store_name' => '商家名称', 'new_user_total' => '新增用户总数', 'mm_user_id' => '所属市场经理', ],