You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace App\Service\v3\Implementations;use App\Model\v3\Market;use App\Model\v3\OrderMain;use Hyperf\Di\Annotation\Inject;use App\Service\v3\Interfaces\HorsemanServiceInterface;use Hyperf\Utils\ApplicationContext;use App\Constants\v3\SsdbKeys;use App\TaskWorker\SSDBTask;use App\Constants\v3\ErrorCode;use App\Exception\ErrorCodeException;class HorsemanService implements HorsemanServiceInterface{ public function do() { // TODO: Implement do() method.
}
public function check() { // TODO: Implement check() method.
}
public function undo() { // TODO: Implement undo() method.
} public function getOrderList($employeesId,$page=1, $pagesize=10) { $builder = OrderMain::query()->where(['state' => 3,'horseman_id' => $employeesId]); $paginate = $builder->orderBy('created_at', 'desc')->paginate($pagesize); $orders = $paginate->toArray(); return [ 'has_more_pages' => $paginate->hasMorePages(), 'order_list' => $orders['data'] ]; }
/** * 记录骑手坐标 */ public function setHorsemanCoordinate($employeesId,$coordinate){ $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); if(false === $ssdb->exec('set', SsdbKeys::HORSEMAN_COORDINATE.$employeesId,$coordinate)) { return false; } return true; }
/** * 获取骑手坐标 */ public function getHorsemanCoordinate($employeesId){ $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); $params = $ssdb->exec('get', SsdbKeys::HORSEMAN_COORDINATE.$employeesId);
if ((false === $params) || empty($params)) { throw new ErrorCodeException(ErrorCode::HORSEMAN_COORDINATE_FAIL, '获取骑手坐标失败'); } return $params; }
/** * 获取订单起止坐标 */ public function getOrderCoordinate($globalOrderId){ //获取订单信息
$order = OrderMain::where('global_order_id',$globalOrderId) ->select( 'lat', 'lng', 'state', 'market_id' ) ->first(); if($order->state != 3) { return false; } //获取市场信息
$market = Market::where('id',$order->market_id) ->select( 'lat', 'lng' ) ->first(); $res = [ 'order' => $order, 'market' => $market ]; return $res; }}
|