Просмотр исходного кода

零售端-配送方式计算bug处理

ouyang 13 часов назад
Родитель
Сommit
e69a688c8a
1 измененных файлов с 6 добавлено и 4 удалено
  1. 6 4
      biz-hd/order/classes/PsMethodClass.php

+ 6 - 4
biz-hd/order/classes/PsMethodClass.php

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