Quellcode durchsuchen

有过全额升级,不校验用户累计业绩了

root vor 3 Jahren
Ursprung
Commit
c559d397ef

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

@@ -53,7 +53,6 @@ class DeclarationUpgradeForm extends Model
     private $_decAmount;
     private $_decPv;
     private $_orderGoods;
-    
     const TYPE_ZC = 'ZC';
     private $_userForm = null;
     // 全部的安置网上级
@@ -191,7 +190,7 @@ class DeclarationUpgradeForm extends Model
             $this->_insertUserId = $baseInfo['ID']; // 被报单人,通过insername 查找用户id
             $insertConId = $baseInfo['CON_UID'];
             $insertRecId = $baseInfo['REC_UID'];
-            if(!($decResult = $this->addDecOrder($insertConId,$insertRecId, $baseInfo['DEC_LV']))) {
+            if(!($decResult = $this->addDecOrder($insertConId,$insertRecId, $baseInfo['DEC_LV'],$isObserve))) {
                 throw new Exception(Form::formatErrorsForApi($decResult->getErrors()));
             }
         }
@@ -203,11 +202,12 @@ class DeclarationUpgradeForm extends Model
      * @return bool|UserInfo|null
      * @throws \yii\db\Exception
      */
-    public function addDecOrder($insertConId,$insertRecId,$oriDecLv){
+    public function addDecOrder($insertConId,$insertRecId,$oriDecLv,$isObserve){
         $warehouse = Region::getWarehouseByCode($this->province);//仓库
         if(!$warehouse){
             throw new Exception('地区暂时不支持配送,具体联系客服');
         }
+        $upgradeType = $isObserve ? 1 : 2; // 1补差  2全额
         $periodObj = Period::instance();
         $nowPeriodNum = $periodObj->getNowPeriodNum();
         $nowCalcMonth = $periodObj->getYearMonth($nowPeriodNum);
@@ -231,6 +231,7 @@ class DeclarationUpgradeForm extends Model
         $decOrderModel->IS_DEL = 0;
         $decOrderModel->DETAIL_TYPE = 2;
         $decOrderModel->CREATED_AT = Date::nowTime();
+        $decOrderModel->UPGRADE_TYPE = $upgradeType;
         if(!$decOrderModel->save()){
             throw new Exception(Form::formatErrorsForApi($decOrderModel->getErrors()));
         }

+ 5 - 4
frontendApi/modules/v1/controllers/UserController.php

@@ -14,6 +14,7 @@ use common\helpers\user\Info;
 use common\models\Config;
 use common\models\DeclarationLevel;
 use common\models\DeclarationPackage;
+use common\models\DecOrder;
 use common\models\forms\DeclarationForm;
 use common\models\forms\DeclarationLoopForm;
 use common\models\forms\DeclarationUpgradeForm;
@@ -240,15 +241,15 @@ class UserController extends BaseController {
         $levelPerf = $userDecInfo['PERF'];// 用户当前级别对应的业绩值
         if (!$isMax) {
             $userDecPvSum = User::sumDevPvByUserId($userId); // 用户所有报单PV总和
-            // 判断业绩是否正确还需要判断,如果是全额升级,以前是否升级过全额升级,如果没有升级过全额升级,则也需要校验业绩是否正确
-            // 如果用户已全额升级过,并且当前为全额升级,则不校验用户业绩
+            $hasFullUpgrade = DecOrder::find()->select('UPGRADE_TYPE')->where('TO_USER_ID=:TO_USER_ID AND UPGRADE_TYPE=2', ['TO_USER_ID'=>$userId])->asArray()->one();
+            // 如果用户已全额升级过,则不校验用户的累计业绩.
             // 如果总和小于级别业绩
-            if ($isObserve && ($userDecPvSum < $levelPerf)) {
+            if (empty($hasFullUpgrade) && ($userDecPvSum < $levelPerf)) {
                 return static::notice('请联系客服人员核对业绩',400);
             }
             $nextLevelPerf = DeclarationLevel::getNextDecPref($levelPerf)['PERF'];
             // 如果总和超过了下一级业绩
-            if ($isObserve && ($userDecPvSum >= $nextLevelPerf)) {
+            if (empty($hasFullUpgrade) && ($userDecPvSum >= $nextLevelPerf)) {
                 return static::notice('请联系客服人员核对业绩',400);
             }
             $type = $isObserve ? 1 : 2;