|
@@ -510,7 +510,8 @@ class PsMethodClass extends BaseClass
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 判断当前订单是否未达最低消费
|
|
* 判断当前订单是否未达最低消费
|
|
|
- * 规则:满 minAmount 或 minNum 任一达标即视为达标;两者均未达标才返回 true
|
|
|
|
|
|
|
+ * 业务规则:已配置的最低金额、最低数量须同时满足才算达标;任一未达(填 0 表示不限)即收附加费/限制下单
|
|
|
|
|
+ * 供 mall affirmMix 预览、calcFee、checkLimit 共用
|
|
|
*/
|
|
*/
|
|
|
public static function isBelowMinimum($itemTotalAmount, $bigNum, $config)
|
|
public static function isBelowMinimum($itemTotalAmount, $bigNum, $config)
|
|
|
{
|
|
{
|
|
@@ -519,13 +520,14 @@ class PsMethodClass extends BaseClass
|
|
|
if ($minAmount <= 0 && $minNum <= 0) {
|
|
if ($minAmount <= 0 && $minNum <= 0) {
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
|
|
+ // 金额、数量各自「未配置则视为该项通过」;两项都通过才不算低于最低消费
|
|
|
$amountOk = $minAmount <= 0 || (float)$itemTotalAmount >= $minAmount;
|
|
$amountOk = $minAmount <= 0 || (float)$itemTotalAmount >= $minAmount;
|
|
|
$numOk = $minNum <= 0 || (float)$bigNum >= $minNum;
|
|
$numOk = $minNum <= 0 || (float)$bigNum >= $minNum;
|
|
|
- return !($amountOk || $numOk);
|
|
|
|
|
|
|
+ return !($amountOk && $numOk);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 拼接最低消费门槛文案,如 200元或30扎
|
|
|
|
|
|
|
+ * 拼接最低消费门槛文案,如 200元和30扎(同时满足)
|
|
|
*/
|
|
*/
|
|
|
protected static function buildUnMeetConditionText($config)
|
|
protected static function buildUnMeetConditionText($config)
|
|
|
{
|
|
{
|
|
@@ -538,7 +540,7 @@ class PsMethodClass extends BaseClass
|
|
|
if ($minNum > 0) {
|
|
if ($minNum > 0) {
|
|
|
$parts[] = $minNum . '扎';
|
|
$parts[] = $minNum . '扎';
|
|
|
}
|
|
}
|
|
|
- return implode('或', $parts);
|
|
|
|
|
|
|
+ return implode('和', $parts);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|