Browse Source

配送费

master
Lemon 5 years ago
parent
commit
5a5b5d1e1c
  1. 17
      app/Service/v3/Implementations/DistributionPriceService.php
  2. 2
      config/config.php

17
app/Service/v3/Implementations/DistributionPriceService.php

@ -11,28 +11,27 @@ class DistributionPriceService implements DistributionPriceServiceInterface
{
public function do($distance)
{
$deliveryDistance = config('distance.delivery_distance');
$deliveryDistance = ceil($deliveryDistance/1000);
$km = ceil($distance/1000);
switch (true){
case ($km > $deliveryDistance) :
throw new ErrorCodeException(ErrorCode::LOCATION_LONG_DISTANCE,'',['message' => '超出配送范围', 'data' => ['距离' => $km, '配送距离' => $deliveryDistance]]);
break;
case ($km > 3 && $km <= 5) :
// $distributionPrice = bcmul(0.70,($km-3),2);
$distributionPrice = 0;
break;
case ($km > 5 && $km < 7) :
case ($km > 5 && $km <= 7) :
$distributionPrice = bcmul(1.50,($km-5),2);
break;
case ($km >= 7 && $km <= $deliveryDistance) :
$distributionPrice = bcmul(1.50,($km-5),2);
break;
case ($km > $deliveryDistance) :
throw new ErrorCodeException(ErrorCode::LOCATION_LONG_DISTANCE,'',['message' => '超出配送范围', 'data' => ['距离' => $km, '配送距离' => $deliveryDistance]]);
break;
// case ($km > 7 && $km <= $deliveryDistance) :
// $distributionPrice = bcmul(1.50,($km-5),2);
// break;
default:
$distributionPrice = 0;
}
$distributionPrice = bcadd($distributionPrice,3.50,2);
//$distributionPrice = bcadd($distributionPrice,3.50,2);
return (float) $distributionPrice;
}

2
config/config.php

@ -62,6 +62,6 @@ return [
'tencent' => env('TENCENT_MAP_KEY', ''),
],
'distance' => [
'delivery_distance' => env('DELIVERY_DISTANCE', '8000')
'delivery_distance' => env('DELIVERY_DISTANCE', '7000')
],
];
Loading…
Cancel
Save