|
|
@@ -161,7 +161,29 @@ class DeliveryQuoteUtil
|
|
|
];
|
|
|
}
|
|
|
|
|
|
- //查询是否符合跑腿的满减规则
|
|
|
+ /**
|
|
|
+ * 按配送方式满减规则判断是否免跑腿费(自定义计费与跑腿平台报价共用)。
|
|
|
+ * 满扎数、满金额、距离在 freeKm 内同时满足时 sendCost 置 0,避免确认页显示免了、下单仍收起步价。
|
|
|
+ * @param array $shConfig 配送方式配置,需含 reduceRules
|
|
|
+ * @param float $sendCost 减免前跑腿费(元)
|
|
|
+ * @param float $sendDistanceMeters 距离(米),内部会换算成公里再和 freeKm 比较
|
|
|
+ * @param float $totalPrice 花材合计金额
|
|
|
+ * @param float $totalNum 扎数
|
|
|
+ * @return array ['sendCost' => 减免后金额]
|
|
|
+ */
|
|
|
+ public static function applyReduceRules($shConfig, $sendCost, $sendDistanceMeters, $totalPrice, $totalNum)
|
|
|
+ {
|
|
|
+ return self::discountSearch([
|
|
|
+ 'shConfig' => $shConfig,
|
|
|
+ 'sendCost' => $sendCost,
|
|
|
+ 'sendDistance' => $sendDistanceMeters,
|
|
|
+ 'freightType' => 0,
|
|
|
+ 'totalPrice' => $totalPrice,
|
|
|
+ 'totalNum' => $totalNum,
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询是否符合跑腿的满减规则;sendDistance 单位为米
|
|
|
private static function discountSearch($params)
|
|
|
{
|
|
|
$shConfig = $params['shConfig'] ?? [];
|