diff --git a/app/Admin/Common/Rpc.php b/app/Admin/Common/Rpc.php index 03651b7..0a04612 100644 --- a/app/Admin/Common/Rpc.php +++ b/app/Admin/Common/Rpc.php @@ -11,6 +11,7 @@ class Rpc const SEPARATE_ACCOUNTS = "/order/onlineComplete"; const ORDER_REFUND = "/order/onlineRefund"; + const GET_DISTANCE = "/location/getDistanceByTencent"; @@ -30,6 +31,12 @@ class Rpc return $response->getBody()->getContents(); } + /** + * 订单整笔退款 + * @param $global_order_id + * @param $uid + * @return string + */ public static function orderRefund($global_order_id,$uid){ $client = Client::factory(env('RPC_SITE_HOST')); $request = $client->request( @@ -39,4 +46,14 @@ class Rpc $response = $client->send($request); return $response->getBody()->getContents(); } + + public static function getDistance($lng1, $lat1, $lng2, $lat2){ + $client = Client::factory(env('RPC_SITE_HOST')); + $request = $client->request( + uniqid(), + self::GET_DISTANCE, + ['lng1' => $lng1,'lat1'=>$lat1,'lng2'=>$lng2,'lat2'=>$lat2]); + $response = $client->send($request); + return json_decode($response->getBody()->getContents(),true); + } } diff --git a/app/Admin/Extensions/MyDetailPage.php b/app/Admin/Extensions/MyDetailPage.php index 8ccb659..f55d4cd 100644 --- a/app/Admin/Extensions/MyDetailPage.php +++ b/app/Admin/Extensions/MyDetailPage.php @@ -56,6 +56,7 @@ class MyDetailPage extends LazyRenderable coupon_money: "{$order['coupon_money']}", delivery_money: "{$order['delivery_money']}", horseman_name: "{$order['horseman_name']}", + distance: "{$order['distance']}", orders: JSON.parse(orders), refund_2:"退款", refund_3:"已同意退款", diff --git a/app/Models/ImsCjdcOrderMain.php b/app/Models/ImsCjdcOrderMain.php index 8b5e7f4..25849cc 100644 --- a/app/Models/ImsCjdcOrderMain.php +++ b/app/Models/ImsCjdcOrderMain.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Admin\Common\Rpc; use Dcat\Admin\Traits\HasDateTimeFormatter; use Illuminate\Database\Eloquent\Model; @@ -59,6 +60,15 @@ class ImsCjdcOrderMain extends Model $order['pay_type'] = config('order.pay_type')[$order['pay_type']]; $order['shipping_type'] = config('order.shipping_type')[$order['shipping_type']]; $order['horseman_name'] = LanzuServiceHorseman::getName($order['horseman_id']); + + //获取市场经纬度 + $market = LanzuMarket::where('id',$order['market_id'])->first()->toArray(); + $order['distance'] = Rpc::getDistance($market['lng'],$market['lat'],$order['lng'],$order['lat'])['result']; + if ($order['distance']>1000){ + $order['distance']= number_format(($order['distance']/1000), 1) .'km'; + }else{ + $order['distance'].= '米'; + } return $order; } } diff --git a/app/Models/LanzuMarket.php b/app/Models/LanzuMarket.php new file mode 100644 index 0000000..e044a46 --- /dev/null +++ b/app/Models/LanzuMarket.php @@ -0,0 +1,18 @@ +配送员:{{horseman_name}} - 配送距离:-- km + 配送距离:{{distance}} 配送费:{{delivery_money}} 元