Browse Source

Merge branch 'distribution_price' into horseman

# Conflicts:
#	app/Service/v3/Implementations/DistributionPriceService.php
master
Lemon 5 years ago
parent
commit
58bf5ddc65
  1. 19
      app/Service/v3/Implementations/DistributionPriceService.php

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

@ -11,30 +11,27 @@ class DistributionPriceService implements DistributionPriceServiceInterface
{
public function do($distance)
{
if (env('APP_ENV') === 'dev') {
return 0.01;
}
$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 <= 8) :
$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;
}

Loading…
Cancel
Save