Browse Source

当面付线上订单

master
Lemon 5 years ago
parent
commit
e310d1c145
  1. 3
      app/Controller/v3/OrderListController.php
  2. 14
      app/Model/v3/UserCollection.php
  3. 7
      app/Service/v3/Implementations/CollectStoreService.php
  4. 31
      app/Service/v3/Implementations/OrderListService.php
  5. 2
      app/Service/v3/Interfaces/OrderListServiceInterface.php

3
app/Controller/v3/OrderListController.php

@ -48,12 +48,11 @@ class OrderListController extends BaseController
public function offlineForStore()
{
$storeId = $this->request->input('store_id','');
$tab = $this->request->input('tab','all');
$page = $this->request->input('page',1);
$pagesize = $this->request->input('pagesize',10);
$startTime = $this->request->input('start_time','');
$endTime = $this->request->input('end_time','');
$list = $this->orderListService->offlineByStore($storeId, $tab, $page, $pagesize,$startTime,$endTime);
$list = $this->orderListService->offlineByStore($storeId,$page, $pagesize,$startTime,$endTime);
return $this->success($list);
}

14
app/Model/v3/UserCollection.php

@ -0,0 +1,14 @@
<?php
declare (strict_types=1);
namespace App\Model\v3;
use App\Model\Model;
use Hyperf\Database\Model\SoftDeletes;
class UserCollection extends Model
{
use SoftDeletes;
protected $table = 'lanzu_user_collection';
}

7
app/Service/v3/Implementations/CollectStoreService.php

@ -3,6 +3,7 @@
namespace App\Service\v3\Implementations;
use App\Model\v3\Market;
use App\Model\v3\Store;
use App\Model\v3\UserCollection;
use App\Service\v3\Interfaces\CollectStoreServiceInterface;
use App\Constants\v3\SsdbKeys;
use App\TaskWorker\SSDBTask;
@ -57,10 +58,10 @@ class CollectStoreService implements CollectStoreServiceInterface
public function getListByUser($userId)
{
$marketIds = Db::table('lanzu_user_collection')->where('user_id',$userId)->pluck('market_id')->toArray();
$storeIds = Db::table('lanzu_user_collection')->where('user_id',$userId)->pluck('store_id')->toArray();
$marketIds = UserCollection::query()->where('user_id',$userId)->pluck('market_id')->toArray();
$storeIds = UserCollection::query()->where('user_id',$userId)->pluck('store_id')->toArray();
$res = Market::query()->with(['stores' => function($query) use ($storeIds) {
$query->whereIn('lanzu_store.id',$storeIds);
$query->whereIn('id',$storeIds);
}])
->whereIn('id',$marketIds)
->get();

31
app/Service/v3/Implementations/OrderListService.php

@ -81,14 +81,14 @@ class OrderListService implements OrderListServiceInterface
switch ($tab) {
case 'all':
break;
case 'completed':
$builder->whereIn('lanzu_order_main.state', OrderState::FINISH);
case 'paid':
$builder->where('lanzu_order_main.state', OrderState::PAID);
break;
case 'unpaid':
$builder->where(['lanzu_order_main.state' => OrderState::UNPAID]);
case 'delivery':
$builder->where(['lanzu_order_main.state' => OrderState::DELIVERY]);
break;
case 'receiving':
$builder->whereIn('lanzu_order_main.state', OrderState::RECEIVING);
case 'finish':
$builder->whereIn('lanzu_order_main.state', OrderState::FINISH);
break;
case 'refund':
$builder->whereIn('lanzu_order_main.state', OrderState::REFUND);
@ -126,30 +126,13 @@ class OrderListService implements OrderListServiceInterface
return $res;
}
public function offlineByStore($storeId, $tab, $page=1, $pagesize=10 ,$start_time = '',$end_time = '')
public function offlineByStore($storeId, $page=1, $pagesize=10 ,$start_time = '',$end_time = '')
{
$builder = Order::join('lanzu_order_main','lanzu_order.order_main_id','lanzu_order_main.id')
->where('store_id', $storeId)
->where('lanzu_order_main.type',4)
->with('user');
switch ($tab) {
case 'all':
break;
case 'paid':
$builder->where('lanzu_order_main.state', OrderState::PAID);
break;
case 'delivery':
$builder->where(['lanzu_order_main.state' => OrderState::DELIVERY]);
break;
case 'finish':
$builder->whereIn('lanzu_order_main.state', OrderState::FINISH);
break;
case 'refund':
$builder->whereIn('lanzu_order_main.state', OrderState::REFUND);
break;
}
if(!empty($start_time) && !empty($end_time)){
$builder->whereBetween('lanzu_order_main.created_at',[strtotime($start_time.' 23:59:59'),strtotime($end_time.' 23:59:59')]);
}

2
app/Service/v3/Interfaces/OrderListServiceInterface.php

@ -9,6 +9,6 @@ interface OrderListServiceInterface
public function undo();
public function onlineByUser($userId, $tab, $page=1, $pagesize=10);
public function onlineByStore($storeId, $tab, $page, $pagesize);
public function offlineByStore($storeId, $tab, $page, $pagesize,$startTime = '',$endTime = '');
public function offlineByStore($storeId, $page, $pagesize,$startTime = '',$endTime = '');
public function offlineByUser($userId, $page=1, $pagesize=10);
}
Loading…
Cancel
Save