From 6f44af84d0db1f315eb4d6d59bb4e0c57eec65fb Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Thu, 24 Sep 2020 11:45:31 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1--?= =?UTF-8?q?=E5=88=86=E7=BA=BF=E4=B8=8A=E7=BA=BF=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Repositories/v3/OrderReport.php | 58 ++++++++++++++++++----- app/Models/ImsCjdcOrderMain.php | 35 ++++++++++++++ 2 files changed, 80 insertions(+), 13 deletions(-) diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php index 8660abc..d81b0f1 100644 --- a/app/Admin/Repositories/v3/OrderReport.php +++ b/app/Admin/Repositories/v3/OrderReport.php @@ -7,7 +7,7 @@ use App\Models\v3\Store as Model; use Dcat\Admin\Grid\Model as GridModel; use Dcat\Admin\Repositories\EloquentRepository; use Illuminate\Support\Facades\DB; -use App\Models\ImsCjdcOrderMain as orderMainModel; +use App\Models\ImsCjdcOrderMain as OrderMainModel; use App\Models\FinancialRecord as FinancialRecordModel; use App\Models\StoreAccount as StoreAccountModel; use App\Models\v3\Store as StoreModel; @@ -35,7 +35,8 @@ class OrderReport extends EloquentRepository $startTime = request()->input('start_time'); $endTime = request()->input('end_time'); - $orderMain = orderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5,10]); + $orderMainOnline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_ONLINE); + $orderMainOffline = OrderMainModel::select(DB::raw('COUNT(id) AS total_num, SUM(money) AS total_money'))->whereIn('state',[4,5])->where('type',OrderMainModel::ORDER_TYPE_OFFLINE); // 旧商户流水 $storeNewUser = StoreAccountModel::select(DB::raw("SUM( CASE WHEN note = '新用户下单成功,平台奖励' THEN 1 ELSE 0 END ) AS new_add_total, SUM( CASE WHEN note = '新用户下单成功,平台奖励' THEN money ELSE 0 END ) AS new_user_total_money,SUM( CASE WHEN note = '用户下单成功,平台奖励' THEN money ELSE 0 END ) AS store_total_money")); // 新商户流水 获取所有模型 @@ -53,7 +54,8 @@ class OrderReport extends EloquentRepository $newUser = UserModel::select(DB::raw('count(id) AS total')); if($marketId){ - $orderMain->where('market_id',$marketId); + $orderMainOnline->where('market_id',$marketId); + $orderMainOffline->where('market_id',$marketId); // 查询这个市场下的店铺id $storeIds = StoreModel::where('market_id',$marketId)->pluck('user_id','id')->toArray(); @@ -69,7 +71,10 @@ class OrderReport extends EloquentRepository } if($startTime){ $startTime = $startTime.' 00:00:00'; - $orderMain->where([['created_at','>=',strtotime($startTime)]]); + + $orderMainOnline->where([['created_at','>=',strtotime($startTime)]]); + $orderMainOffline->where([['created_at','>=',strtotime($startTime)]]); + $storeNewUser->where([['time','>=',$startTime]]); $storeNewUserNewZero->where([['created_at','>=',strtotime($startTime)]]); $storeNewUserNewOne->where([['created_at','>=',strtotime($startTime)]]); @@ -80,7 +85,10 @@ class OrderReport extends EloquentRepository } if($endTime){ $endTime = $endTime.' 23:59:59'; - $orderMain->where([['created_at','<=',strtotime($endTime)]]); + + $orderMainOnline->where([['created_at','<=',strtotime($endTime)]]); + $orderMainOffline->where([['created_at','<=',strtotime($endTime)]]); + $storeNewUser->where([['time','<=',$endTime]]); $storeNewUserNewZero->where([['created_at','<=',strtotime($endTime)]]); $storeNewUserNewOne->where([['created_at','<=',strtotime($endTime)]]); @@ -93,7 +101,10 @@ class OrderReport extends EloquentRepository $time = date('Y-m-d',time()); $todayStart = $time.' 00:00:00'; $todayEnd = $time.' 23:59:59'; - $orderMain->where([['created_at','>=',strtotime($todayStart)]]); + + $orderMainOnline->where([['created_at','>=',strtotime($todayStart)]]); + $orderMainOffline->where([['created_at','>=',strtotime($todayStart)]]); + $storeNewUser->where([['time','>=',$todayStart]]); $storeNewUserNewZero->where([['created_at','>=',strtotime($todayStart)]]); $storeNewUserNewOne->where([['created_at','>=',strtotime($todayStart)]]); @@ -101,7 +112,9 @@ class OrderReport extends EloquentRepository $storeNewUserNewThree->where([['created_at','>=',strtotime($todayStart)]]); $storeNewUserNewFour->where([['created_at','>=',strtotime($todayStart)]]); - $orderMain->where([['created_at','<=',strtotime($todayEnd)]]); + $orderMainOnline->where([['created_at','<=',strtotime($todayEnd)]]); + $orderMainOffline->where([['created_at','<=',strtotime($todayEnd)]]); + $storeNewUser->where([['time','<=',$todayEnd]]); $storeNewUserNewZero->where([['created_at','<=',strtotime($todayEnd)]]); $storeNewUserNewOne->where([['created_at','<=',strtotime($todayEnd)]]); @@ -110,7 +123,8 @@ class OrderReport extends EloquentRepository $storeNewUserNewFour->where([['created_at','<=',strtotime($todayEnd)]]); } // 订单总额 - $orderReport = $orderMain->get()->toArray(); + $orderReportOnline = $orderMainOnline->get()->toArray(); + $orderReportOffline = $orderMainOffline->get()->toArray(); // 补贴金额 $storeNewUsers = $storeNewUser->get()->toArray(); $storeNewUserNewsZero = $storeNewUserNewZero->get()->toArray(); @@ -122,8 +136,11 @@ class OrderReport extends EloquentRepository $userTotal = $newUser->get()->toArray(); $query = [ - 'order_total_num' => !empty($orderReport[0]['total_num'])?$orderReport[0]['total_num']:0, - 'order_total_money' => !empty($orderReport[0]['total_money'])?$orderReport[0]['total_money']:0, + 'order_total_num_online' => !empty($orderReportOnline[0]['total_num'])?$orderReportOnline[0]['total_num']:0, + 'order_total_money_online' => !empty($orderReportOnline[0]['total_money'])?$orderReportOnline[0]['total_money']:0, + + 'order_total_num_offline' => !empty($orderReportOffline[0]['total_num'])?$orderReportOffline[0]['total_num']:0, + 'order_total_money_offline' => !empty($orderReportOffline[0]['total_money'])?$orderReportOffline[0]['total_money']:0, 'new_user_total_money' => !empty($storeNewUsers[0]['new_user_total_money'])?$storeNewUsers[0]['new_user_total_money']:0, 'new_user_total_new_money_zero' => !empty($storeNewUserNewsZero[0]['new_user_total_money'])?$storeNewUserNewsZero[0]['new_user_total_money']:0, @@ -161,9 +178,24 @@ class OrderReport extends EloquentRepository 'value' => $query['new_add_user'] + $query['new_add_user_new_zero'] + $query['new_add_user_new_one'] + $query['new_add_user_new_two'] + $query['new_add_user_new_three'] + $query['new_add_user_new_four'] ], [ - 'key' => 'order_total_num', - 'name' => '订单总额(元)', - 'value' => $query['order_total_num'] + 'key' => 'order_total_num_online', + 'name' => '线上-订单总数(单)', + 'value' => $query['order_total_num_online'] + ], + [ + 'key' => 'order_total_money_online', + 'name' => '线上-订单总额(元)', + 'value' => $query['order_total_money_online'] + ], + [ + 'key' => 'order_total_num_offline', + 'name' => '线下-订单总数(单)', + 'value' => $query['order_total_num_offline'] + ], + [ + 'key' => 'order_total_money_offline', + 'name' => '线下-订单总额(元)', + 'value' => $query['order_total_money_offline'] ], [ 'key' => 'new_user_total_money', diff --git a/app/Models/ImsCjdcOrderMain.php b/app/Models/ImsCjdcOrderMain.php index 741661b..60e3915 100644 --- a/app/Models/ImsCjdcOrderMain.php +++ b/app/Models/ImsCjdcOrderMain.php @@ -10,6 +10,41 @@ use Illuminate\Support\Facades\DB; class ImsCjdcOrderMain extends Model { + // 线上订单,外卖 + const ORDER_TYPE_ONLINE = 1; + // 线下订单,当面付 + const ORDER_TYPE_OFFLINE = 4; + + // 订单状态 + // 待付款 + const ORDER_STATE_UNPAY = 1; + // 待接单 + const ORDER_STATE_UNTAKE = 2; + // 待送达 + const ORDER_STATE_DELIVERY = 3; + // 已完成 + const ORDER_STATE_COMPLETE = 4; + // 已评价 + const ORDER_STATE_EVALUATED = 5; + // 已取消 + const ORDER_STATE_CANCEL = 6; + // 已拒单 + const ORDER_STATE_REFUSE = 7; + // 退款中 + const ORDER_STATE_REFUNDING = 8; + // 已退款 + const ORDER_STATE_REFUNDED = 9; + // 拒绝退款 + const ORDER_STATE_UNREFUND = 10; + // 完成状态组合 + const ORDER_STATE_FINISH = [self::ORDER_STATE_COMPLETE, self::ORDER_STATE_EVALUATED, self::ORDER_STATE_UNREFUND]; + + // 订单支付方式 + // 微信支付 + const ORDER_PAY_WX = 1; + // 余额支付 + const ORDER_PAY_BALANCE = 2; + use HasDateTimeFormatter; //protected $table = 'ims_cjdc_order_main'; protected $table = 'lanzu_order_main'; From f830b2bc41100a1d347384313537161b60c49767 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Thu, 24 Sep 2020 11:49:52 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=9F=E8=AE=A1--?= =?UTF-8?q?=E7=8E=B0=E5=AD=98=E7=94=A8=E6=88=B7=E7=BB=9F=E8=AE=A1=E6=89=80?= =?UTF-8?q?=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Repositories/v3/OrderReport.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Admin/Repositories/v3/OrderReport.php b/app/Admin/Repositories/v3/OrderReport.php index d81b0f1..98eb790 100644 --- a/app/Admin/Repositories/v3/OrderReport.php +++ b/app/Admin/Repositories/v3/OrderReport.php @@ -81,7 +81,7 @@ class OrderReport extends EloquentRepository $storeNewUserNewTwo->where([['created_at','>=',strtotime($startTime)]]); $storeNewUserNewThree->where([['created_at','>=',strtotime($startTime)]]); $storeNewUserNewFour->where([['created_at','>=',strtotime($startTime)]]); - $newUser->where([['created_at','>=',strtotime($startTime)]]); + // $newUser->where([['created_at','>=',strtotime($startTime)]]); } if($endTime){ $endTime = $endTime.' 23:59:59'; @@ -95,7 +95,7 @@ class OrderReport extends EloquentRepository $storeNewUserNewTwo->where([['created_at','<=',strtotime($endTime)]]); $storeNewUserNewThree->where([['created_at','<=',strtotime($endTime)]]); $storeNewUserNewFour->where([['created_at','<=',strtotime($endTime)]]); - $newUser->where([['created_at','<=',strtotime($endTime)]]); + // $newUser->where([['created_at','<=',strtotime($endTime)]]); } if(empty($startTime) && empty($endTime)){ $time = date('Y-m-d',time());