Explorar el Código

次数做成数据库配置

root hace 3 años
padre
commit
9c8503faa5
Se han modificado 1 ficheros con 10 adiciones y 2 borrados
  1. 10 2
      common/helpers/bonus/BonusCalc.php

+ 10 - 2
common/helpers/bonus/BonusCalc.php

@@ -1471,6 +1471,14 @@ class BonusCalc extends BaseObject {
             )->orderBy('SORT ASC')->indexBy('CONFIG_NAME')->asArray()->all();
             )->orderBy('SORT ASC')->indexBy('CONFIG_NAME')->asArray()->all();
             $openFindLimit = isset($configsGx['gxNoPvFindLimitSwitch']) ? $configsGx['gxNoPvFindLimitSwitch']['VALUE'] : 1; // 是否开放了 得奖人不满足980就找一个满足980的人来得这个奖 的最大向上循环次数
             $openFindLimit = isset($configsGx['gxNoPvFindLimitSwitch']) ? $configsGx['gxNoPvFindLimitSwitch']['VALUE'] : 1; // 是否开放了 得奖人不满足980就找一个满足980的人来得这个奖 的最大向上循环次数
             $findLimitTimes = isset($configsGx['gxNoPvFindLimitTimes']) ? $configsGx['gxNoPvFindLimitTimes']['VALUE'] : 5 ; // 开放的限制层数
             $findLimitTimes = isset($configsGx['gxNoPvFindLimitTimes']) ? $configsGx['gxNoPvFindLimitTimes']['VALUE'] : 5 ; // 开放的限制层数
+            $shareOutTimes = Config::find()
+            ->where(
+                'CONFIG_NAME="shareOutTimes"'
+            )
+            ->indexBy('CONFIG_NAME')
+            ->asArray()
+            ->all();// 获取向上找五次超过次数限制
+            $shareOutTimes = isset($shareOutTimes['shareOutTimes']) ? $shareOutTimes['shareOutTimes']['VALUE'] : 5;
             foreach ($allData as $userId) {
             foreach ($allData as $userId) {
                 $bonusUserData = [];
                 $bonusUserData = [];
                 $bonusPercentOne = $this->_sysConfig['shareRecPercent']['VALUE'] / 100;
                 $bonusPercentOne = $this->_sysConfig['shareRecPercent']['VALUE'] / 100;
@@ -1498,11 +1506,11 @@ class BonusCalc extends BaseObject {
                 if( $shareBonusTwo > 0 ) {
                 if( $shareBonusTwo > 0 ) {
                     $validDeep = 1;
                     $validDeep = 1;
                     $periodNum = $this->_periodNum;
                     $periodNum = $this->_periodNum;
-                    $this->loopNetworkParentDo($userId, function ($parent) use ($periodNum, $userId, $shareBonusTwo, &$validDeep, &$bonusUserData) {
+                    $this->loopNetworkParentDo($userId, function ($parent) use ($shareOutTimes, $periodNum, $userId, $shareBonusTwo, &$validDeep, &$bonusUserData) {
                         if ( $validDeep % 2 === 0 ) {
                         if ( $validDeep % 2 === 0 ) {
                             $shareTimes = CalcCache::gxShareTimes($userId, $periodNum);
                             $shareTimes = CalcCache::gxShareTimes($userId, $periodNum);
                             // 增加判断,是否分共享奖奖金次数超过了五次,如果超过五次则不进行循环了
                             // 增加判断,是否分共享奖奖金次数超过了五次,如果超过五次则不进行循环了
-                            if ($shareTimes > 5) {
+                            if ($shareTimes > $shareOutTimes) {
                                 return self::LOOP_FINISH;
                                 return self::LOOP_FINISH;
                             }
                             }
                             $bonusUserData[] = [
                             $bonusUserData[] = [