Просмотр исходного кода

Merge branch 'new-version' into david-1301a1246-bluestart

root 3 лет назад
Родитель
Сommit
f2b52bb264
2 измененных файлов с 50 добавлено и 8 удалено
  1. 1 1
      backendApi/modules/v1/models/AdminForm.php
  2. 49 7
      common/helpers/bonus/BonusCalc.php

+ 1 - 1
backendApi/modules/v1/models/AdminForm.php

@@ -89,7 +89,7 @@ class AdminForm extends Model
 
         if($this->scenario == 'add'){
             $model = new Admin();
-            $model->ADMIN_NAME = $this->adminName;
+            $model->ADMIN_NAME = strtolower($this->adminName);
             $model->REAL_NAME = $this->realName;
             $model->ROLE_ID = $this->roleId;
             $model->REMARK = $this->remark;

+ 49 - 7
common/helpers/bonus/BonusCalc.php

@@ -1413,8 +1413,14 @@ class BonusCalc extends BaseObject {
             foreach ($allData as $userId) {
                 //判断$userId 能否得共享奖
 
-                //判断 是否本期小市场(安置关系)新增980pv 能否得奖
-                if ( !$this->checkSmallMarketPerf($userId) ) {
+                // //判断 是否本期小市场(安置关系)新增980pv 能否得奖
+                // if ( !$this->checkSmallMarketPerf($userId) ) {
+                //     unset($userId);
+                //     continue;
+                // }
+
+                // 20220407 小市场980判断->改成判断此期用户是否有原报单团队奖金
+                if ( !$this->checkHasOriBonusQyBd($userId) ) {
                     unset($userId);
                     continue;
                 }
@@ -1520,11 +1526,13 @@ class BonusCalc extends BaseObject {
                 $userEmpLevel = $userBaseInfo['EMP_LV'];
                 foreach ($bonusUserData as $bonusUserDataEvery) {
                     $bonusUserId = $bonusUserDataEvery['bonusUid'];
-                    //判断 是否本期小市场(安置关系)新增980pv 能否得奖
-                    if ( $bonusUserDataEvery['validMinPv'] && !$this->checkSmallMarketPerf($bonusUserId) ) {
-//                        unset($bonusUserDataEvery, $bonusUserId);
+                    //判断 是否本期小市场(安置关系)新增980pv 能否得奖->20220407改成判断得奖人此期是否有报单团队奖金
+                    // if ( $bonusUserDataEvery['validMinPv'] && !$this->checkSmallMarketPerf($bonusUserId) ) { 20220407
+                    if ( $bonusUserDataEvery['validMinPv'] && !$this->checkHasOriBonusQyBd($bonusUserId) ) {
+//                        unset($bonusUserDataEvery, $bonusUserId); 
 //                        continue;
                         //得奖人不满足980就找一个满足980的人来得这个奖
+                        // 20220407改成判断得奖人此期是否有报单团队奖金,如果没有则找一个此期有报单团队奖金得人
                         $bonusUserId = $this->getMinBdPvNetworkParent($bonusUserId, $openFindLimit, $findLimitTimes);
                         if ( !$bonusUserId ) {
                             unset($bonusUserDataEvery, $bonusUserId);
@@ -2729,6 +2737,19 @@ class BonusCalc extends BaseObject {
         return true;
     }
 
+    /**
+     * 共享奖,判断当期此用户,是否有原报单团队奖金
+     */
+    public function checkHasOriBonusQyBd($userId) {
+        //判断$parent是否有首单团队奖
+        $bonus = CalcCache::bonus($userId, $this->_periodNum);
+        if( isset($bonus['ORI_BONUS_QY_BD']) && $bonus['ORI_BONUS_QY_BD'] > 0 ) {
+            return true;
+        }
+
+        return false;
+    }
+
     /**
      * 判断除大市场外 其它市场的报单业绩
      * @param $userId
@@ -2790,7 +2811,7 @@ class BonusCalc extends BaseObject {
     }
 
     /**
-     * 获取有最小报单PV的用效父级
+     * 获取有最小报单PV的用效父级 20220407修改成是否此期此用户有原报单团队奖金
      * @param $userId
      * @return string
      */
@@ -2798,7 +2819,7 @@ class BonusCalc extends BaseObject {
         $validParentId = '';
         $validDeep = 1;
         $this->loopNetworkParentDo($userId, function ($parent) use(&$validParentId,&$validDeep,$openFindLimit,$findLimitTimes) {
-            if ( $this->checkSmallMarketPerf($parent['PARENT_UID']) ) {
+            if ( $this->checkHasOriBonusQyBd($parent['PARENT_UID']) ) {
                 $validParentId = $parent['PARENT_UID'];
                 unset($parent);
                 return self::LOOP_FINISH;
@@ -2815,6 +2836,27 @@ class BonusCalc extends BaseObject {
 
         return$validParentId;
     }
+    // public function getMinBdPvNetworkParent($userId, $openFindLimit = 1, $findLimitTimes = 5) {
+    //     $validParentId = '';
+    //     $validDeep = 1;
+    //     $this->loopNetworkParentDo($userId, function ($parent) use(&$validParentId,&$validDeep,$openFindLimit,$findLimitTimes) {
+    //         if ( $this->checkSmallMarketPerf($parent['PARENT_UID']) ) {
+    //             $validParentId = $parent['PARENT_UID'];
+    //             unset($parent);
+    //             return self::LOOP_FINISH;
+    //         }
+    //         // 只找5层
+    //         if ( $openFindLimit && $validDeep >= $findLimitTimes ) {
+    //             unset($parent);
+    //             return self::LOOP_FINISH;
+    //         }
+
+    //         $validDeep += 1;
+    //         unset($parent);
+    //     });
+
+    //     return$validParentId;
+    // }
 
     /**
      * 按级别的收入上限