Jelajahi Sumber

bugfix:分期商品购买一轮结束后,不可直接购买非第一期分期商品

kevin_zhangl 2 tahun lalu
induk
melakukan
6c03e24fb4

+ 1 - 1
common/models/forms/ApproachDeclarationUpgradeForm.php

@@ -202,7 +202,7 @@ class ApproachDeclarationUpgradeForm extends Model
                             $userInstalmentInfo = Instalment::getInfo($userId);
                             if (!$userInstalmentInfo){ // 如果没有分期付款记录
                                 throw new Exception(Yii::t('app', 'canNotBuy'));
-                            } else if ($userInstalmentInfo['ORDER_TYPE']!='BD' || $userStage == $instalment) { // 如果分期付款记录中,不是报单,或已是最后一期
+                            } else if ($userInstalmentInfo['ORDER_TYPE']!='BD' || (($userStage == $instalment) && ($goods['INSTALMENT'] != 1))) { // 如果分期付款记录中,不是报单,或已是最后一期
                                 throw new Exception(Yii::t('app', 'canNotBuy'));
                             }
                             if($userStage + 1 != $goods['INSTALMENT']){ // 若用户分期阶段+1不等于商品的分期阶段,则报异常

+ 5 - 1
common/models/forms/ApproachOrderForm.php

@@ -469,8 +469,12 @@ class ApproachOrderForm extends Model
                     if (intval($goods['INSTALMENT']) > $instalment) {
                         throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
                     }
-                    if ($userStage==0 || $userStage == $instalment){
+                    if ($userStage==0){
 
+                    } else if ($userStage == $instalment) {
+                        if ($goods['INSTALMENT'] != 1) {
+                            throw new Exception(Yii::t('app', 'canNotBuy'));
+                        }
                     }else{
                         if($userStage + 1 != $goods['INSTALMENT']){ // 若用户分期阶段+1不等于商品的分期阶段,则报异常
                             throw new Exception(Yii::t('app', 'canNotBuy'));

+ 5 - 1
common/models/forms/ApproachReconsumeOrderForm.php

@@ -470,8 +470,12 @@ class ApproachReconsumeOrderForm extends Model
                     if (intval($goods['INSTALMENT']) > $instalment) {
                         throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
                     }
-                    if ($userStage==0 || $userStage == $instalment){
+                    if ($userStage==0){
 
+                    } else if ($userStage == $instalment) {
+                        if ($goods['INSTALMENT'] != 1) {
+                            throw new Exception(Yii::t('app', 'canNotBuy'));
+                        }
                     }else{
                         if($userStage + 1 != $goods['INSTALMENT']){ // 若用户分期阶段+1不等于商品的分期阶段,则报异常
                             throw new Exception(Yii::t('app', 'canNotBuy'));

+ 2 - 1
common/models/forms/DeclarationUpgradeForm.php

@@ -201,9 +201,10 @@ class DeclarationUpgradeForm extends Model
                             $userInstalmentInfo = Instalment::getInfo($userId);
                             if (!$userInstalmentInfo){ // 如果没有分期付款记录
                                 throw new Exception(Yii::t('app', 'canNotBuy'));
-                            } else if ($userInstalmentInfo['ORDER_TYPE']!='BD' || $userStage == $instalment) { // 如果分期付款记录中,不是报单,或已是最后一期
+                            } else if ($userInstalmentInfo['ORDER_TYPE']!='BD' || (($userStage == $instalment) && ($goods['INSTALMENT'] != 1))) { // 如果分期付款记录中,不是报单,或已是最后一期
                                 throw new Exception(Yii::t('app', 'canNotBuy'));
                             }
+                            
                             if($userStage + 1 != $goods['INSTALMENT']){ // 若用户分期阶段+1不等于商品的分期阶段,则报异常
                                 throw new Exception(Yii::t('app', 'canNotBuy'));
                             }

+ 7 - 1
common/models/forms/OrderForm.php

@@ -562,6 +562,10 @@ class OrderForm extends Model
                         if ($userStage + 1 > $instalment){ // 若用户分期阶段+1大于总分期阶段,则报异常
                             throw new Exception(Yii::t('app', 'canNotBuy'));
                         }
+                    } else {
+                        if ($goods['INSTALMENT'] != 1) {
+                            throw new Exception(Yii::t('app', 'canNotBuy'));
+                        }
                     }
                     $hasInstalment = $goods['INSTALMENT'];
                 }
@@ -903,7 +907,9 @@ class OrderForm extends Model
                         throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
                     }
                     if ($userStage == $instalment){
-
+                        if ($goods['INSTALMENT'] != 1) {
+                            throw new Exception(Yii::t('app', 'canNotBuy'));
+                        }
                     }else{
                         if($userInstalmentInfo){
                             if($userInstalmentInfo['STAGE']>0 && $userInstalmentInfo['ORDER_TYPE']!='FX'){