|
@@ -112,6 +112,7 @@ class DeclarationUpgradeForm extends Model
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
$loginUserId = \Yii::$app->user->id;
|
|
$loginUserId = \Yii::$app->user->id;
|
|
|
|
|
+ $hasInstalment = 0;
|
|
|
// 首购单
|
|
// 首购单
|
|
|
if($this->type == self::TYPE_ZC){
|
|
if($this->type == self::TYPE_ZC){
|
|
|
//报单商品及PV判断
|
|
//报单商品及PV判断
|
|
@@ -155,7 +156,6 @@ class DeclarationUpgradeForm extends Model
|
|
|
$totalAmount = 0;
|
|
$totalAmount = 0;
|
|
|
$totalAmountStandard = 0;
|
|
$totalAmountStandard = 0;
|
|
|
$totalPv = 0;
|
|
$totalPv = 0;
|
|
|
- $hasInstalment = 0;
|
|
|
|
|
$exchangeRate = floatval(Cache::getSystemConfig()['exchangeRate']['VALUE'] ?? 0); // 汇率
|
|
$exchangeRate = floatval(Cache::getSystemConfig()['exchangeRate']['VALUE'] ?? 0); // 汇率
|
|
|
foreach ($this->goodsNum as $k => $v) {
|
|
foreach ($this->goodsNum as $k => $v) {
|
|
|
if ($v) {
|
|
if ($v) {
|
|
@@ -190,11 +190,13 @@ class DeclarationUpgradeForm extends Model
|
|
|
throw new Exception(Yii::t('app', 'allowOnlyOne'));
|
|
throw new Exception(Yii::t('app', 'allowOnlyOne'));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 分期的总期数
|
|
|
|
|
+ $instalment = floatval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
|
|
|
$userStage = Instalment::getStage($userId);
|
|
$userStage = Instalment::getStage($userId);
|
|
|
$userInstalmentInfo = Instalment::getInfo($userId);
|
|
$userInstalmentInfo = Instalment::getInfo($userId);
|
|
|
if (!$userInstalmentInfo){ // 如果没有分期付款记录
|
|
if (!$userInstalmentInfo){ // 如果没有分期付款记录
|
|
|
throw new Exception(Yii::t('app', 'canNotBuy'));
|
|
throw new Exception(Yii::t('app', 'canNotBuy'));
|
|
|
- } else if ($userInstalmentInfo['ORDER_TYPE']!='BD' || $userStage == 3) { // 如果分期付款记录中,不是报单,或已是3
|
|
|
|
|
|
|
+ } else if ($userInstalmentInfo['ORDER_TYPE']!='BD' || $userStage == $instalment) { // 如果分期付款记录中,不是报单,或已是最后一期
|
|
|
throw new Exception(Yii::t('app', 'canNotBuy'));
|
|
throw new Exception(Yii::t('app', 'canNotBuy'));
|
|
|
}
|
|
}
|
|
|
if($userStage + 1 != $goods['INSTALMENT']){ // 若用户分期阶段+1不等于商品的分期阶段,则报异常
|
|
if($userStage + 1 != $goods['INSTALMENT']){ // 若用户分期阶段+1不等于商品的分期阶段,则报异常
|
|
@@ -204,11 +206,13 @@ class DeclarationUpgradeForm extends Model
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
// 这里特殊是用户原报单PV之和+用户购买的商品总PV
|
|
// 这里特殊是用户原报单PV之和+用户购买的商品总PV
|
|
|
$checkPv = $totalPv + $diffPerf;
|
|
$checkPv = $totalPv + $diffPerf;
|
|
|
if ($hasInstalment){ // 如果买了分期付款商品,则不判断总pv
|
|
if ($hasInstalment){ // 如果买了分期付款商品,则不判断总pv
|
|
|
$allData['hasInstalment'] = 1;
|
|
$allData['hasInstalment'] = 1;
|
|
|
- }else if($checkPv < $decLevel['PERF']) {
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ if($checkPv < $decLevel['PERF']) {
|
|
|
throw new Exception(Yii::t('app', 'totalPVLessThan'), 400);
|
|
throw new Exception(Yii::t('app', 'totalPVLessThan'), 400);
|
|
|
}
|
|
}
|
|
|
foreach ($decLevelConfig as $key=>$val){
|
|
foreach ($decLevelConfig as $key=>$val){
|