diff --git a/app/appfront/modules/Checkout/controllers/CartController.php b/app/appfront/modules/Checkout/controllers/CartController.php index 046ecb457..65f3eb07c 100644 --- a/app/appfront/modules/Checkout/controllers/CartController.php +++ b/app/appfront/modules/Checkout/controllers/CartController.php @@ -208,6 +208,7 @@ public function actionUpdateinfo() } else { echo json_encode([ 'status' => 'fail', + 'content' => Yii::$service->helper->errors->get(',') ]); $innerTransaction->rollBack(); } diff --git a/services/cart/QuoteItem.php b/services/cart/QuoteItem.php index 358c8ffbd..41c6c2f0d 100644 --- a/services/cart/QuoteItem.php +++ b/services/cart/QuoteItem.php @@ -284,9 +284,19 @@ public function lessOneItem($item_id) 'cart_id' => $cart_id, 'item_id' => $item_id, ])->one(); + $lessedQty = $one['qty'] - 1; + + $product = Yii::$service->product->getByPrimaryKey($one['product_id']); + if(isset($product['min_sales_qty']) && $product['min_sales_qty'] > 1){ + if($lessedQty < $product['min_sales_qty']){ + Yii::$service->helper->errors->add('product less buy qty is '.$product['min_sales_qty']); + + return false; + } + } if ($one['item_id']) { if ($one['qty'] > 1) { - $one['qty'] = $one['qty'] - 1; + $one['qty'] = $lessedQty; $one->save(); // 重新计算购物车的数量 Yii::$service->cart->quote->computeCartInfo();