diff --git a/app/Service/v3/Implementations/DistributionPriceService.php b/app/Service/v3/Implementations/DistributionPriceService.php index 78ff942..46973ca 100644 --- a/app/Service/v3/Implementations/DistributionPriceService.php +++ b/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; } diff --git a/config/config.php b/config/config.php index 106c3e0..c6209b4 100644 --- a/config/config.php +++ b/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') ], ];