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

分期商品增加期数越界处理

kevin_zhangl пре 2 година
родитељ
комит
2d9c436db2

+ 1 - 0
common/messages/en-US/app.php

@@ -30,6 +30,7 @@ return [
     'productsDoesNotExists' => 'Products does not exists!',
     'allowOnlyOne' => 'Only 1 can be purchased at a time',
     'canNotBuy' => 'Please pay in EPP order',
+    'instalmentGoodsNoError' => 'Products No. error',
     'productsDoesSoldOut' => 'Products has sold out!',
     'cashDoesNotAdequate' => '余额不足,无法购买商品',
     'exchangePointDoesNotAdequate' => '兑换积分不足,无法购买商品',

+ 1 - 0
common/messages/zh-CN/app.php

@@ -30,6 +30,7 @@ return [
     'productsDoesNotExists' => '商品不存在',
     'allowOnlyOne' => '分期商品每次只可购买1个',
     'canNotBuy' => '分期商品请按顺序购买',
+    'instalmentGoodsNoError' => '分期商品的期数错误',
     'productsDoesSoldOut' => '商品已下架',
     'cashDoesNotAdequate' => '余额不足,无法购买商品',
     'exchangePointDoesNotAdequate' => '兑换积分不足,无法购买商品',

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

@@ -2,6 +2,7 @@
 namespace common\models\forms;
 
 use common\components\Model;
+use common\helpers\Cache;
 use common\helpers\Form;
 use common\models\UserBind;
 use Yii;
@@ -150,6 +151,12 @@ class ApproachDeclarationLoopForm extends Model
                             if($value['goodsNum'][$i]>1){ // 只能购买一个
                                 throw new Exception(Yii::t('app', 'allowOnlyOne'));
                             }
+                            // 分期的总期数
+                            $instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
+                            // 分期商品的期数不能大于总分期数限制
+                            if (intval($goods['INSTALMENT']) > $instalment) {
+                                throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
+                            }
                         }
                         if($goods['INSTALMENT']>1){ // 不允许购买“非第一期”的商品
                             throw new Exception(Yii::t('app', 'canNotBuy'));

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

@@ -194,6 +194,10 @@ class ApproachDeclarationUpgradeForm extends Model
 
                             // 分期的总期数
                             $instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
+                            // 分期商品的期数不能大于总分期数限制
+                            if (intval($goods['INSTALMENT']) > $instalment) {
+                                throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
+                            }
                             $userStage = Instalment::getStage($userId);
                             $userInstalmentInfo = Instalment::getInfo($userId);
                             if (!$userInstalmentInfo){ // 如果没有分期付款记录

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

@@ -465,6 +465,10 @@ class ApproachOrderForm extends Model
                     $userStage = Instalment::getStage($loginUserId);
                     // 分期的总期数
                     $instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
+                    // 分期商品的期数不能大于总分期数限制
+                    if (intval($goods['INSTALMENT']) > $instalment) {
+                        throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
+                    }
                     if ($userStage==0 || $userStage == $instalment){
 
                     }else{

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

@@ -466,6 +466,10 @@ class ApproachReconsumeOrderForm extends Model
                     $userStage = Instalment::getStage($loginUserId);
                     // 分期的总期数
                     $instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
+                    // 分期商品的期数不能大于总分期数限制
+                    if (intval($goods['INSTALMENT']) > $instalment) {
+                        throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
+                    }
                     if ($userStage==0 || $userStage == $instalment){
 
                     }else{

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

@@ -2,6 +2,7 @@
 namespace common\models\forms;
 
 use common\components\Model;
+use common\helpers\Cache;
 use common\helpers\Form;
 use common\models\UserBind;
 use Yii;
@@ -144,6 +145,12 @@ class DeclarationLoopForm extends Model
                             if($value['goodsNum'][$i]>1){ // 只能购买一个
                                 throw new Exception(Yii::t('app', 'allowOnlyOne'));
                             }
+                            // 分期的总期数
+                            $instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
+                            // 分期商品的期数不能大于总分期数限制
+                            if (intval($goods['INSTALMENT']) > $instalment) {
+                                throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
+                            }
                         }
                         if($goods['INSTALMENT']>1){ // 不允许购买“非第一期”的商品
                             throw new Exception(Yii::t('app', 'canNotBuy'));

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

@@ -192,6 +192,11 @@ class DeclarationUpgradeForm extends Model
 
                             // 分期的总期数
                             $instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
+                            // 分期商品的期数不能大于总分期数限制
+                            if (intval($goods['INSTALMENT']) > $instalment) {
+                                throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
+                            }
+                            
                             $userStage = Instalment::getStage($userId);
                             $userInstalmentInfo = Instalment::getInfo($userId);
                             if (!$userInstalmentInfo){ // 如果没有分期付款记录

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

@@ -546,7 +546,10 @@ class OrderForm extends Model
 
                     // 分期的总期数
                     $instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
-                    LoggerTool::debug([$instalment, $userStage]);
+                    // 分期商品的期数不能大于总分期数限制
+                    if (intval($goods['INSTALMENT']) > $instalment) {
+                        throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
+                    }
                     if ($userStage != $instalment){
                         if ($userInstalmentInfo){
                             if($userInstalmentInfo['STAGE']>0 && $userInstalmentInfo['ORDER_TYPE']!='FX'){
@@ -895,6 +898,10 @@ class OrderForm extends Model
                     $userInstalmentInfo = Instalment::getInfo($userId);
                     // 分期的总期数
                     $instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
+                    // 分期商品的期数不能大于总分期数限制
+                    if (intval($goods['INSTALMENT']) > $instalment) {
+                        throw new Exception(Yii::t('app', 'instalmentGoodsNoError'));
+                    }
                     if ($userStage == $instalment){
 
                     }else{