|
|
<?php
namespace App\Service\v3\Implementations;
use App\Constants\v3\OrderState;use App\Model\v3\OrderMain;use App\Model\v3\Order;use App\Service\v3\Interfaces\OrderListServiceInterface;use Hyperf\Paginator\Paginator;
class OrderListService implements OrderListServiceInterface{
public function do() { // TODO: Implement do() method.
}
public function check() { // TODO: Implement check() method.
}
public function undo() { // TODO: Implement undo() method.
}
public function onlineByUser($userId, $tab, $page=1, $pagesize=10) { $builder = OrderMain::query() ->select('id', 'global_order_id', 'money', 'state', 'market_id', 'created_at') ->with(['orderGoods' => function($query) { $query->select(['lanzu_order_goods.id', 'lanzu_order_goods.name', 'lanzu_order_goods.cover_img']); }]) ->with(['market' => function($query) { $query->select(['lanzu_market.id', 'lanzu_market.name', 'lanzu_market.tel']); }]) ->where([ ['user_id','=',$userId], ['type','=',1] ]); switch ($tab) { case 'all': break; case 'completed': $builder->whereIn('state', OrderState::FINISH); break; case 'unpaid': $builder->where(['state' => OrderState::UNPAID]); break; case 'receiving': $builder->whereIn('state', OrderState::RECEIVING); break; case 'refund': $builder->whereIn('state', OrderState::REFUND); break; }
$paginate = $builder->paginate($pagesize); $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; }
public function onlineByStore($storeId, $tab, $page=1, $pagesize=10) { $builder = OrderMain::query() ->select('id','global_order_id', 'money', 'state', 'market_id', 'created_at') ->with(['orders' => function($query) use ($storeId) { $query->where('store_id',$storeId)->with('orderGoods'); }]) ->where([ 'type' => 1 ]); switch ($tab) { case 'all': break; case 'completed': $builder->whereIn('state', OrderState::FINISH); break; case 'unpaid': $builder->where(['state' => OrderState::UNPAID]); break; case 'receiving': $builder->whereIn('state', OrderState::RECEIVING); break; case 'refund': $builder->whereIn('state', OrderState::REFUND); break; }
$paginate = $builder->paginate($pagesize); $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; }
public function offlineByStore($storeId, $tab, $page=1, $pagesize=10) { $builder = Order::query() ->with(['orderMain' => function($query) { $query->where('lanzu_order_main.type',4); }]) ->with(['user' => function($query) { $query->select(['lanzu_user.id', 'lanzu_user.nick_name']); }]) ->where([ 'store_id' => $storeId ]); switch ($tab) { case 'all': break; case 'completed': $builder->whereIn('state', OrderState::FINISH); break; case 'unpaid': $builder->where(['state' => OrderState::UNPAID]); break; case 'receiving': $builder->whereIn('state', OrderState::RECEIVING); break; case 'refund': $builder->whereIn('state', OrderState::REFUND); break; }
$paginate = $builder->paginate($pagesize); $orders = $paginate->toArray(); return ['has_more_pages' => $paginate->hasMorePages(), 'orders' => $orders['data']]; }}
|