|
|
@@ -1410,8 +1410,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;
|
|
|
}
|
|
|
@@ -1517,11 +1523,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);
|
|
|
@@ -2716,6 +2724,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
|
|
|
@@ -2777,7 +2798,7 @@ class BonusCalc extends BaseObject {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取有最小报单PV的用效父级
|
|
|
+ * 获取有最小报单PV的用效父级 20220407修改成是否此期此用户有原报单团队奖金
|
|
|
* @param $userId
|
|
|
* @return string
|
|
|
*/
|
|
|
@@ -2785,7 +2806,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;
|
|
|
@@ -2802,6 +2823,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;
|
|
|
+ // }
|
|
|
|
|
|
/**
|
|
|
* 按级别的收入上限
|