|
|
|
@ -22,7 +22,7 @@ class DistributionPriceService implements DistributionPriceServiceInterface |
|
|
|
// $distributionPrice = bcmul(0.70,($km-3),2);
|
|
|
|
$distributionPrice = 0; |
|
|
|
break; |
|
|
|
case ($km > 5 && $km <= 8) : |
|
|
|
case ($km > 5 && $km <= $deliveryDistance) : |
|
|
|
$distributionPrice = bcmul(1.50,($km-5),2); |
|
|
|
break; |
|
|
|
// case ($km > 7 && $km <= $deliveryDistance) :
|
|
|
|
@ -44,4 +44,30 @@ class DistributionPriceService implements DistributionPriceServiceInterface |
|
|
|
{ |
|
|
|
// TODO: Implement undo() method.
|
|
|
|
} |
|
|
|
|
|
|
|
public function original($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 <= $deliveryDistance) : |
|
|
|
$distributionPrice = bcmul(1.50,($km-5),2); |
|
|
|
break; |
|
|
|
// case ($km > 7 && $km <= $deliveryDistance) :
|
|
|
|
// $distributionPrice = bcmul(1.50,($km-5),2);
|
|
|
|
// break;
|
|
|
|
default: |
|
|
|
$distributionPrice = 0; |
|
|
|
} |
|
|
|
$distributionPrice = bcadd($distributionPrice,3.50,2); |
|
|
|
return (float) $distributionPrice; |
|
|
|
} |
|
|
|
} |