From c37bcc31c638e98172035b485de0020a161a3d34 Mon Sep 17 00:00:00 2001 From: weigang Date: Tue, 15 Sep 2020 12:25:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=84=E7=A7=8D=E5=88=97=E8=A1=A8=E5=92=8C?= =?UTF-8?q?=E4=B8=8B=E5=8D=95oid=E5=BA=8F=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Controller/v3/BalanceStatementController.php | 5 ++++- app/Service/v3/Implementations/OrderListService.php | 12 ++++++++++-- .../v3/Implementations/OrderOfflineService.php | 9 ++++++--- .../v3/Implementations/OrderOnlineService.php | 9 ++++++--- .../v3/Implementations/RevenueListService.php | 4 ++-- .../v3/Implementations/WithdrawalListService.php | 13 +++++++++++-- 6 files changed, 39 insertions(+), 13 deletions(-) diff --git a/app/Controller/v3/BalanceStatementController.php b/app/Controller/v3/BalanceStatementController.php index b8c0829..52034f3 100644 --- a/app/Controller/v3/BalanceStatementController.php +++ b/app/Controller/v3/BalanceStatementController.php @@ -41,8 +41,11 @@ class BalanceStatementController extends BaseController $pagesize = $this->request->input('pagesize',0); $startTime = $this->request->input('start_time',''); $endTime = $this->request->input('end_time',''); - if(!empty($startTime) && !empty($endTime)){ + if(!empty($startTime)){ $startTime = strtotime(date($startTime.' 00:00:00')); + } + + if(!empty($endTime)){ $endTime = strtotime(date($endTime.' 23:59:59')); } $res = $this->withdrawalListService->getListByStore($storeId,$page,$pagesize,$startTime,$endTime); diff --git a/app/Service/v3/Implementations/OrderListService.php b/app/Service/v3/Implementations/OrderListService.php index 1ed2b75..a607eda 100644 --- a/app/Service/v3/Implementations/OrderListService.php +++ b/app/Service/v3/Implementations/OrderListService.php @@ -158,8 +158,16 @@ class OrderListService implements OrderListServiceInterface ->where([''.$childTable.'.store_id' => $storeId, ''.$mainTable.'.type' => OrderType::OFFLINE]) ->with('user'); - if(!empty($start_time) && !empty($end_time)){ - $builder->whereBetween(''.$mainTable.'.created_at',[strtotime($start_time.' 00:00:00'),strtotime($end_time.' 23:59:59')]); + // if(!empty($start_time) && !empty($end_time)){ + // $builder->whereBetween(''.$mainTable.'.created_at',[strtotime($start_time.' 00:00:00'),strtotime($end_time.' 23:59:59')]); + // } + + if (!empty($start_time)) { + $builder->where(''.$mainTable.'.created_at', '>=', strtotime($start_time.' 00:00:00')); + } + + if (!empty($end_time)) { + $builder->where(''.$mainTable.'.created_at', '<=', strtotime($end_time.' 23:59:59')); } $paginate = $builder->orderBy(''.$mainTable.'.created_at', 'desc')->paginate($pagesize); diff --git a/app/Service/v3/Implementations/OrderOfflineService.php b/app/Service/v3/Implementations/OrderOfflineService.php index 4fa13e3..2b8f35d 100644 --- a/app/Service/v3/Implementations/OrderOfflineService.php +++ b/app/Service/v3/Implementations/OrderOfflineService.php @@ -37,6 +37,9 @@ class OrderOfflineService implements OrderOfflineServiceInterface { try { + $mainTable = ApplicationContext::getContainer()->get(OrderMain::class)->getTable(); + $childTable = ApplicationContext::getContainer()->get(Order::class)->getTable(); + $store = Store::find($storeId); // 获取分布式全局ID @@ -68,9 +71,9 @@ class OrderOfflineService implements OrderOfflineServiceInterface // 店铺今天的订单数 $count = Order::query() - ->join('lanzu_order_main as main', 'main.id', '=', 'lanzu_order.order_main_id') - ->where(['lanzu_order.store_id' => $storeId, 'main.type' => OrderType::OFFLINE]) - ->whereBetween('lanzu_order.created_at', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))]) + ->join($mainTable, ''.$mainTable.'.global_order_id', '=', ''.$childTable.'.order_main_id') + ->where([''.$childTable.'.store_id' => $storeId, ''.$mainTable.'.type' => OrderType::OFFLINE]) + ->whereBetween(''.$childTable.'.created_at', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))]) ->count(); // 子订单数据 diff --git a/app/Service/v3/Implementations/OrderOnlineService.php b/app/Service/v3/Implementations/OrderOnlineService.php index 066f6f1..456bcee 100644 --- a/app/Service/v3/Implementations/OrderOnlineService.php +++ b/app/Service/v3/Implementations/OrderOnlineService.php @@ -118,6 +118,9 @@ class OrderOnlineService implements OrderOnlineServiceInterface Db::beginTransaction(); try { + $mainTable = ApplicationContext::getContainer()->get(OrderMain::class)->getTable(); + $childTable = ApplicationContext::getContainer()->get(Order::class)->getTable(); + $currentTime = time(); bcscale(6); // 用户收货地址 @@ -160,9 +163,9 @@ class OrderOnlineService implements OrderOnlineServiceInterface $storeTypeIds[] = (string)$storeType; // 店铺今天的订单数 $count = Order::query() - ->join('lanzu_order_main as main', 'main.id', '=', 'lanzu_order.order_main_id') - ->where(['lanzu_order.store_id' => $storeId, 'main.type' => OrderType::ONLINE]) - ->whereBetween('lanzu_order.created_at', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))]) + ->join($mainTable, ''.$mainTable.'.global_order_id', '=', ''.$childTable.'.order_main_id') + ->where([''.$childTable.'.store_id' => $storeId, ''.$mainTable.'.type' => OrderType::ONLINE]) + ->whereBetween(''.$childTable.'.created_at', [strtotime(date('Y-m-d 00:00:00')), strtotime(date('Y-m-d 23:59:59'))]) ->count(); // 用户购物车数据 diff --git a/app/Service/v3/Implementations/RevenueListService.php b/app/Service/v3/Implementations/RevenueListService.php index d427b5f..6ee373e 100644 --- a/app/Service/v3/Implementations/RevenueListService.php +++ b/app/Service/v3/Implementations/RevenueListService.php @@ -30,7 +30,7 @@ class RevenueListService implements RevenueListServiceInterface $financialRecord->suffix($mod); $builder = $financialRecord->where('user_id',$userId); if(!empty($startTime) && !empty($endTime)){ - $builder->whereBetween('created_at',[strtotime($startTime.' 23:59:59'),strtotime($endTime.' 23:59:59')]); + $builder->whereBetween('created_at',[strtotime($startTime.' 00:00:00'),strtotime($endTime.' 23:59:59')]); } $paginate = $builder->paginate($pagesize); $revenues = $paginate->toArray(); @@ -47,7 +47,7 @@ class RevenueListService implements RevenueListServiceInterface if(!empty($startTime) && !empty($endTime)){ $builder->whereBetween('created_at',[$startTime,$endTime]); } - $revenue = $builder->select('money','money_type','created_at')->get()->toArray(); + $revenue = $builder->select('money','money_type','created_at')->orderBy('created_at', 'desc')->get()->toArray(); return $revenue; } } \ No newline at end of file diff --git a/app/Service/v3/Implementations/WithdrawalListService.php b/app/Service/v3/Implementations/WithdrawalListService.php index 36c2d8c..4c0366a 100644 --- a/app/Service/v3/Implementations/WithdrawalListService.php +++ b/app/Service/v3/Implementations/WithdrawalListService.php @@ -24,9 +24,18 @@ class WithdrawalListService implements WithdrawalListServiceInterface public function getListByStore($storeId, $page=1, $pagesize=10 ,$startTime = '',$endTime = '') { $builder = StoreWithdrawal::query()->where('store_id',$storeId); - if(!empty($startTime) && !empty($endTime)){ - $builder->whereBetween('created_at',[$startTime,$endTime]); + // if(!empty($startTime) && !empty($endTime)){ + // $builder->whereBetween('created_at',[$startTime,$endTime]); + // } + + if (!empty($start_time)) { + $builder->where('created_at', '>=', $start_time); + } + + if (!empty($end_time)) { + $builder->where('created_at', '<=', $end_time); } + $paginate = $builder->orderBy('created_at', 'desc')->paginate($pagesize); $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']];