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) public function do($distance)
{ {
if (env('APP_ENV') === 'dev') {
return 0.01;
}
$deliveryDistance = config('distance.delivery_distance'); $deliveryDistance = config('distance.delivery_distance');
$deliveryDistance = ceil($deliveryDistance/1000); $deliveryDistance = ceil($deliveryDistance/1000);
$km = ceil($distance/1000); $km = ceil($distance/1000);
switch (true){ switch (true){
case ($km > $deliveryDistance) :
throw new ErrorCodeException(ErrorCode::LOCATION_LONG_DISTANCE,'',['message' => '超出配送范围', 'data' => ['距离' => $km, '配送距离' => $deliveryDistance]]);
break;
case ($km > 3 && $km <= 5) : case ($km > 3 && $km <= 5) :
// $distributionPrice = bcmul(0.70,($km-3),2); // $distributionPrice = bcmul(0.70,($km-3),2);
$distributionPrice = 0; $distributionPrice = 0;
break; break;
case ($km > 5 && $km < 7) :
case ($km > 5 && $km <= 8) :
$distributionPrice = bcmul(1.50,($km-5),2); $distributionPrice = bcmul(1.50,($km-5),2);
break; 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: default:
$distributionPrice = 0; $distributionPrice = 0;
} }
$distributionPrice = bcadd($distributionPrice,3.50,2);
//$distributionPrice = bcadd($distributionPrice,3.50,2);
return (float) $distributionPrice; return (float) $distributionPrice;
} }

Loading…
Cancel
Save