Преглед изворни кода

商品不存在时下单错误bugfix

kevin_zhangl пре 3 година
родитељ
комит
b552c96cf7

+ 6 - 0
common/models/forms/ApproachDeclarationLoopForm.php

@@ -120,6 +120,9 @@ class ApproachDeclarationLoopForm extends Model
                 // 套餐报单
                 if (isset($value['packageId']) && $value['packageId']){
                     $packagedata = DeclarationPackage::findOneAsArray('ID=:ID', [':ID' => $value['packageId']]);
+                    if (!$packagedata) {
+                        throw new Exception('Products does not exists!');
+                    }
                     if($packagedata['STORE_NUMS']>0){
                         $data =  DeclarationPackage::find()->where(['ID'=> $packagedata['ID'] ])->one();
                         $goods_store_nums = $data->STORE_NUMS - 1;
@@ -139,6 +142,9 @@ class ApproachDeclarationLoopForm extends Model
                 if (count($value['goodsId']) > 0 && (count($value['goodsId']) == count($value['goodsNum']))) {
                     for ($i = 0; $i < count($value['goodsId']) ;$i++) {
                         $goods = ShopGoods::findOneAsArray('ID=:ID',[':ID'=> $value['goodsId'][$i]]);
+                        if (!$goods) {
+                            throw new Exception('Products does not exists!');
+                        }
                         if ($goods['STATUS'] == 1 ){
                             if($goods['STORE_NUMS'] >= $value['goodsNum'][$i]) {
                                 // 减库存

+ 3 - 0
common/models/forms/ApproachDeclarationUpgradeForm.php

@@ -159,6 +159,9 @@ class ApproachDeclarationUpgradeForm extends Model
                 foreach ($this->goodsNum as $k => $v) {
                     if ($v) {
                         $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+                        if (!$goods) {
+                            throw new Exception('Products does not exists!');
+                        }
                         if($goods['STORE_NUMS']>0){
                             $totalAmount += $goods['SELL_PRICE'] * intval($v);
                             $totalAmountStandard += $goods['SELL_PRICE_STANDARD'] * intval($v);

+ 3 - 0
common/models/forms/ApproachOrderForm.php

@@ -411,6 +411,9 @@ class ApproachOrderForm extends Model
         foreach ($this->goodsNum as $k => $v) {
             if ($v) {
                 $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+                if (!$goods) {
+                    throw new Exception('Products does not exists!');
+                }
                 if($goods['STORE_NUMS']>0){
                     if ($goods['TYPE'] == 1 || $goods['TYPE'] == 2) {
                         $discount = $goodsType[$goods['TYPE']]['discount'];

+ 6 - 0
common/models/forms/BaApproachDeclarationLoopForm.php

@@ -119,6 +119,9 @@ class BaApproachDeclarationLoopForm extends Model
                 // 套餐报单
                 if (isset($value['packageId']) && $value['packageId']){
                     $packagedata = DeclarationPackage::findOneAsArray('ID=:ID', [':ID' => $value['packageId']]);
+                    if (!$packagedata) {
+                        throw new Exception('Products does not exists!');
+                    }
                     if($packagedata['STORE_NUMS']>0){
                         $data =  DeclarationPackage::find()->where(['ID'=> $packagedata['ID'] ])->one();
                         $goods_store_nums = $data->STORE_NUMS - 1;
@@ -138,6 +141,9 @@ class BaApproachDeclarationLoopForm extends Model
                 if (count($value['goodsId']) > 0 && (count($value['goodsId']) == count($value['goodsNum']))) {
                     for ($i = 0; $i < count($value['goodsId']) ;$i++) {
                         $goods = ShopGoods::findOneAsArray('ID=:ID',[':ID'=> $value['goodsId'][$i]]);
+                        if (!$goods) {
+                            throw new Exception('Products does not exists!');
+                        }
                         if ($goods['STATUS'] == 1 ){
                             if($goods['STORE_NUMS'] >= $value['goodsNum'][$i]) {
                                 // 减库存

+ 4 - 0
common/models/forms/BaApproachOrderForm.php

@@ -338,6 +338,7 @@ class BaApproachOrderForm extends Model
 
     /**
      * 复销
+     * @throws Exception
      */
     public function add()
     {
@@ -353,6 +354,9 @@ class BaApproachOrderForm extends Model
         foreach ($this->goodsNum as $k => $v) {
             if ($v) {
                 $goods = ShopGoods::findOneAsArray('ID = :ID AND STATUS = 1', [':ID' => $ids[$k]]);
+                if (!$goods) {
+                    throw new Exception('Products does not exists!');
+                }
                 if ($goods['STORE_NUMS'] > 0) {
                     if ($goods['TYPE'] == 1 || $goods['TYPE'] == 2) {
                         $discount = $goodsType[$goods['TYPE']]['discount'];

+ 3 - 0
common/models/forms/BaDeclarationLoopForm.php

@@ -118,6 +118,9 @@ class BaDeclarationLoopForm extends Model
                 if (count($value['goodsId']) > 0 && (count($value['goodsId']) == count($value['goodsNum']))){
                     for ($i=0;$i<count($value['goodsId']);$i++){
                         $goods = ShopGoods::findOneAsArray('ID=:ID',[':ID'=> $value['goodsId'][$i]]);
+                        if (!$goods) {
+                            throw new Exception('Products does not exists!');
+                        }
                         if ($goods['STATUS'] == 1 ){
                             if($goods['STORE_NUMS'] >= $value['goodsNum'][$i]){
                                 $data = ShopGoods::find()->where(['ID' => $value['goodsId'][$i]])->one();

+ 6 - 0
common/models/forms/DeclarationLoopForm.php

@@ -125,6 +125,9 @@ class DeclarationLoopForm extends Model
                 if (isset($value['packageId']) && $value['packageId']){
 
                     $packagedata = DeclarationPackage::findOneAsArray('ID=:ID', [':ID' => $value['packageId']]);
+                    if (!$packagedata) {
+                        throw new Exception('Products does not exists!');
+                    }
                     //var_dump($packagedata['ID']);
                     if($packagedata['STORE_NUMS']<=0){
                         throw new Exception($packagedata['PACKAGE_NAME'].'Insufficient inventory');// 库存不足
@@ -134,6 +137,9 @@ class DeclarationLoopForm extends Model
                 if (count($value['goodsId']) > 0 && (count($value['goodsId']) == count($value['goodsNum']))){
                     for ($i=0;$i<count($value['goodsId']);$i++){
                         $goods = ShopGoods::findOneAsArray('ID=:ID',[':ID'=> $value['goodsId'][$i]]);
+                        if (!$goods) {
+                            throw new Exception('Products does not exists!');
+                        }
                         if ($goods['STATUS'] == 1 ){
                             if($goods['STORE_NUMS'] < $value['goodsNum'][$i]){
                                 throw new Exception($goods['GOODS_NAME'].'Insufficient inventory');// 商品库存不足

+ 3 - 0
common/models/forms/DeclarationUpgradeForm.php

@@ -157,6 +157,9 @@ class DeclarationUpgradeForm extends Model
                 foreach ($this->goodsNum as $k => $v) {
                     if ($v) {
                         $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+                        if (!$goods) {
+                            throw new Exception('Products does not exists!');
+                        }
                         if($goods['STORE_NUMS']>0){
                             $totalAmount += $goods['SELL_PRICE'] * intval($v);
                             $totalAmountStandard += $goods['SELL_PRICE_STANDARD'] * intval($v);

+ 12 - 0
common/models/forms/OrderForm.php

@@ -461,6 +461,9 @@ class OrderForm extends Model
         foreach ($this->goodsNum as $k => $v) {
             if ($v) {
                 $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+                if (!$goods) {
+                    throw new Exception('Products does not exists!');
+                }
                 if($goods['STORE_NUMS']>0){
                     if ($goods['TYPE'] == 1 || $goods['TYPE'] == 2) {
                         $discount = $goodsType[$goods['TYPE']]['discount'];
@@ -560,6 +563,9 @@ class OrderForm extends Model
             foreach ($this->goodsNum as $k => $v){
                 if ($v){
                     $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+                    if (!$goods) {
+                        throw new Exception('Products does not exists!');
+                    }
                     if ($goods['STORE_NUMS'] >= $this->goodsNum[$k]){
                         $data = ShopGoods::find()->where(['ID' => $ids[$k]])->one();
                         $goods_store_nums = $data->STORE_NUMS - $this->goodsNum[$k];
@@ -793,6 +799,9 @@ class OrderForm extends Model
         foreach ($this->goodsNum as $k => $v) {
             if ($v) {
                 $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+                if (!$goods) {
+                    throw new Exception('Products does not exists!');
+                }
                 if($goods['STORE_NUMS']>0){
                     if ($goods['TYPE'] == 1 || $goods['TYPE'] == 2) {
                         $discount = $goodsType[$goods['TYPE']]['discount'];
@@ -862,6 +871,9 @@ class OrderForm extends Model
 			            foreach ($this->goodsNum as $k => $v){
 			                if ($v){
 			                    $goods = ShopGoods::findOneAsArray('ID=:ID AND STATUS=1',[':ID'=> $ids[$k]]);
+                                if (!$goods) {
+                                    throw new Exception('Products does not exists!');
+                                }
 			                    if ($goods['STORE_NUMS'] >= $this->goodsNum[$k]){
 			                        $data = ShopGoods::find()->where(['ID' => $ids[$k]])->one();
 			                        $goods_store_nums = $data->STORE_NUMS - $this->goodsNum[$k];