Эх сурвалжийг харах

Merge branch 'new-version' into feature/dd-1799-groupbonus

root 3 жил өмнө
parent
commit
9d84e9eb66

+ 1 - 4
backendApi/modules/v1/controllers/BonusController.php

@@ -1007,7 +1007,7 @@ class BonusController extends BaseController {
             'BONUS_TG' => 'CB.BONUS_TG',
             'BONUS_XF' => 'CB.BONUS_XF',
             'BONUS_YJ' => 'CB.BONUS_YJ',
-            'BONUS_GX' => 'CB.BONUS_GX',
+            'ORI_BONUS_GX' => 'CB.ORI_BONUS_GX',
             'BONUS_GL' => 'CB.BONUS_GL',
             // 'BONUS_GL' => 'CB.BONUS_BS',
             'BONUS_QY' => 'CB.BONUS_QY',
@@ -1022,9 +1022,6 @@ class BonusController extends BaseController {
             'CALCULATED_AT' => 'CB.CALCULATED_AT',
             'CALC_MONTH' => 'CB.CALC_MONTH',
             'BONUS_QY_MONTH' => 'CB.BONUS_QY_MONTH',
-
-
-
         ]);
         $period = Period::instance();
         $yearMonth = $period->getYearMonth($periodNum);

+ 25 - 13
backendApi/modules/v1/models/lists/bonus/PeriodBonusList.php

@@ -447,40 +447,52 @@ class PeriodBonusList extends \common\libs\dataList\DataList implements DataList
                 //         'prop'=>'REAL_BONUS_BS',
                 //     ],
                 // ],
-                'BONUS_GX' => [
-                    'header' => '共享奖',
+                // 'BONUS_GX' => [
+                //     'header' => '共享奖',
+                //     'value' => function($row) {
+                //         return (new Price([
+                //             'value' => $row['BONUS_GX'],
+                //         ]))->result();
+                //     },
+                //     'headerOther' => [
+                //         'width' => '120',
+                //         'prop'=>'BONUS_GX',
+                //     ],
+                // ],
+                'ORI_BONUS_GX' => [
+                    'header' => '周共享奖原金额',
                     'value' => function($row) {
                         return (new Price([
-                            'value' => $row['BONUS_GX'],
+                            'value' => $row['ORI_BONUS_GX'],
                         ]))->result();
                     },
                     'headerOther' => [
                         'width' => '120',
-                        'prop'=>'BONUS_GX',
+                        'prop'=>'ORI_BONUS_GX',
                     ],
                 ],
-                'ORI_BONUS_GX' => [
-                    'header' => '共享奖原金额',
+                'REAL_BONUS_GX' => [
+                    'header' => '共享奖',
                     'value' => function($row) {
                         return (new Price([
-                            'value' => $row['ORI_BONUS_GX'],
+                            'value' => $row['REAL_BONUS_GX'],
                         ]))->result();
                     },
                     'headerOther' => [
                         'width' => '120',
-                        'prop'=>'ORI_BONUS_GX',
+                        'prop'=>'REAL_BONUS_GX',
                     ],
                 ],
-                'REAL_BONUS_GX' => [
-                    'header' => '实发共享奖',
+                'ORI_MONTH_GX_BONUS' => [
+                    'header' => '月共享奖原金额',
                     'value' => function($row) {
                         return (new Price([
-                            'value' => $row['REAL_BONUS_GX'],
+                            'value' => $row['ORI_MONTH_GX_BONUS'],
                         ]))->result();
                     },
                     'headerOther' => [
                         'width' => '120',
-                        'prop'=>'REAL_BONUS_GX',
+                        'prop'=>'ORI_MONTH_GX_BONUS',
                     ],
                 ],
                 'BONUS_BD' => [
@@ -801,7 +813,7 @@ class PeriodBonusList extends \common\libs\dataList\DataList implements DataList
                 'BONUS_TG'=> ['isUserTable'=> false, 'name'=> '推广奖'],
                 'BONUS_XF'=> ['isUserTable'=> false, 'name'=> '消费奖'],
                 'BONUS_YJ'=> ['isUserTable'=> false, 'name'=> '业绩奖'],
-                'BONUS_GX'=> ['isUserTable'=> false, 'name'=> '共享奖'],
+                'ORI_BONUS_GX'=> ['isUserTable'=> false, 'name'=> '共享奖'],
                 'BONUS_GL'=> ['isUserTable'=> false, 'name'=> '管理奖'],
                 'BONUS_QY'=> ['isUserTable'=> false, 'name'=> '团队奖'],
                 'BONUS_YC'=> ['isUserTable'=> false, 'name'=> '荣衔奖'],

+ 39 - 122
common/helpers/bonus/BonusCalc.php

@@ -297,8 +297,7 @@ class BonusCalc extends BaseObject {
             echo('奖金会员写入缓存完成,耗时:' . round($t19 - $t18, 3) . ',内存使用:' . (round(memory_get_usage() / 1024 / 1024, 3)) . 'MB' . PHP_EOL);
             $this->_updatePercent(70);
 
-            //奖金写库
-            // TODO:这里增加新的奖金入库操作.
+            //奖金写库 -- 注意,必须在月奖会员加入缓存之后loopMonthBonusUserFromDbToCache()
             $this->loopBonusUsers();
             // 入库完成,将各个奖金计算流水会员聘级,更新成蓝星奖当时计算的聘级
             $this->loopCalcBlueEmpLv();
@@ -1643,15 +1642,13 @@ class BonusCalc extends BaseObject {
 
                     
                     // //扣除相应的复消积分和管理费
-                    $deductData = $this->deduct($bonusUserId, $bonus);
-                    CalcCache::bonus($bonusUserId, $this->_periodNum, 'BONUS_GX', $bonus, $deductData,'',true);
-
-                    // 
-                    // 非月节点,共享奖实发覆盖成0. 只有月节点期的时候,才sum一下总共享奖原奖金,再扣管理费和复消积分
-                    //CalcCache::bonus($bonusUserId, $this->_periodNum, 'BONUS_GX', $bonus);
+                    // 共享奖调整,周共享奖信息,不扣除管理费和复消费积分
+                    // $deductData = $this->deduct($bonusUserId, $bonus);
+                    // CalcCache::bonus($bonusUserId, $this->_periodNum, 'BONUS_GX', $bonus, $deductData,'',true);
+                    CalcCache::bonus($bonusUserId, $this->_periodNum, 'BONUS_GX', $bonus);
                     CalcCache::addHasMonthBonusUsers($bonusUserId, $this->_periodNum);
 
-                    //共享奖流水
+                    //共享奖流水 rm1820 月总扣除复消积分和管理费,流水中不扣除.
                     $insertBonusData[] = [
                         'ID' => SnowFake::instance()->generateId(),
                         'USER_ID' => $bonusUserId,
@@ -1662,10 +1659,10 @@ class BonusCalc extends BaseObject {
                         'LAST_FROM_DEC_LV' => $userBaseInfo['DEC_LV'],
                         'LAST_FROM_EMP_LV' => $userEmpLevel,
                         'LAST_FROM_STATUS' => $userBaseInfo['STATUS'],
-                        'AMOUNT' => $deductData['surplus'], // 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
+                        // 'AMOUNT' => 0,
                         'ORI_BONUS' => $bonus,
-                        'RECONSUME_POINTS' => $deductData['reConsumePoints'],// 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
-                        'MANAGE_TAX' => $deductData['manageTax'], // 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
+                        // 'RECONSUME_POINTS' => 0,
+                        // 'MANAGE_TAX' => 0,
                         'PERIOD_NUM' => $this->_periodNum,
                         'CALC_YEAR' => $this->_calcYear,
                         'CALC_MONTH' => $this->_calcYearMonth,
@@ -3215,7 +3212,7 @@ class BonusCalc extends BaseObject {
         if( $reConsumePointsTotal < $reConsumePointsCap ) {
             $reConsumePoints = $bonus * $this->_sysConfig['reConsumePointsPercent']['VALUE'] / 100;
 
-            // 2022/06/07上限改成10000000
+            // 2022/06/07上限改成10000000   奖金乘以比例           上限1000                     // 当月总复消积分 前三期加当前的
             $reConsumePoints = min($reConsumePoints, $reConsumePointsCap-$reConsumePointsTotal);
         }
         unset($reConsumePointsTotal, $reConsumePointsCap);
@@ -3240,7 +3237,7 @@ class BonusCalc extends BaseObject {
     }
 
     /**
-     * 把往期有月奖金的会员加到本期有奖会员缓存列表中
+     * 把往期有月奖金的会员加到本期有奖会员缓存列表中 
      * @param int $offset
      * @return bool
      */
@@ -3439,31 +3436,8 @@ class BonusCalc extends BaseObject {
         $baseInfo = CalcCache::getUserInfo($userId, $this->_periodNum);
         $perfData = CalcCache::nowPeriodPerf($userId, $this->_periodNum);
         $empLv = $baseInfo['EMP_LV'];
-//        if($this->_isCalcMonth){
-//            $empLv = $this->nowMonthPerfData($userId)['LAST_EMP_LV'];
-//        }
         $pervSurplusPerf = CalcCache::surplusPerf($userId, $this->_periodNum);
 
-        // //没有共享和管理奖 以前的管理奖和共享奖逻辑
-        // $bonusReal = $bonus['BONUS_BD'] + $bonus['BONUS_TG'] + $bonus['BONUS_XF'] + $bonus['BONUS_YJ'] + $bonus['BONUS_QY'] + $bonus['BONUS_YC'] + $bonus['BONUS_YC_EXTRA'] + $bonus['BONUS_VIP'] + $standardBonus;
-        // $realBonusGx = 0;
-        // $realBonusGl = 0;
-        // if( $this->_isCalcMonth ) {
-        //     //查看是否复消300
-        //     $monthPerfData = CalcCache::nowMonthPerf($userId, $this->_periodNum);
-        //     $fxPvStatus = $monthPerfData['PV_PCS_FX'] >= $this->_sysConfig['monthPcsPvFxCondition']['VALUE'];
-        //     if ( $fxPvStatus ) {//加上本期和往期的共享和管理奖
-        //         $monthSumData = CalcBonus::findUseSlaves()->select('SUM(BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth])->asArray()->one();
-        //         $bonusGxSum = $monthSumData['BONUS_GX_SUM'] ?? 0;
-        //         $bonusGlSum = $monthSumData['BONUS_GL_SUM'] ?? 0;
-        //         $realBonusGx += $bonusGxSum + $bonus['BONUS_GX'];
-        //         $realBonusGl += $bonusGlSum + $bonus['BONUS_GL'];
-        //         $bonusReal += $realBonusGx + $realBonusGl;
-        //         unset($monthSumData, $bonusGxSum, $bonusGlSum);
-        //     }
-        // }
-
-
         //没有共享和管理奖
         $bonusReal = $bonus['BONUS_BD'] + $bonus['BONUS_TG'] + $bonus['BONUS_XF'] + $bonus['BONUS_YJ'] + $bonus['BONUS_QY'] + $bonus['BONUS_YC'] + $bonus['BONUS_YC_EXTRA'] + $bonus['BONUS_VIP'] + $standardBonus;
         $realBonusGx = 0;
@@ -3479,26 +3453,16 @@ class BonusCalc extends BaseObject {
         $blueBonusGLSF = 0;//拆分蓝星管理奖,实发
         $blueBonusYJSF = 0;//拆分蓝星业绩奖,实发
 
+        // rm1820 共享奖周算且不计入总原奖金中,所以需要在总原奖金中去掉
+        $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] - $bonus['ORI_BONUS_GX'];
+        $oriGxMonthBonus = 0; // 月共享奖金,结算月之和原总金额
+        $monthGxReal = $monthGxManageTax = $monthGxpoint = 0;
+        $bonus['BONUS_GX'] = 0; // 以前的周共享奖实发金额,新版本每周不发,不扣除复消积分管理费,所以这里给0
         if( $this->_isCalcMonth ) {
-            // 查看是否复消300
-            // $monthPerfData = CalcCache::nowMonthPerf($userId, $this->_periodNum);
-            // $monthPerf = $monthPerfData['PV_PCS_FX'];
-            // // $fxPvStatus 改成月报单+复消之和是否300
-            // $decPvInfo = PerfPeriod::findUseSlaves()->select('SUM(PV_PCS_ZC) AS ZC_SUM')
-            // ->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth])
-            // ->asArray()
-            // ->one(); 
-            // $decPv = isset($decPvInfo['ZC_SUM']) && $decPvInfo['ZC_SUM'] > 0 ?  $decPvInfo['ZC_SUM'] : 0;
-            // $totalCheckPv = $monthPerf + $decPv;
-            // $fxPvStatus = $totalCheckPv >= $this->_sysConfig['monthPcsPvFxCondition']['VALUE'];
-            // 逻辑改成,用户此月累计消费总额大于等于配置,取消订单类型的配置
             $fxPvStatus = $this->_isMonthPerfLimit($userId);
             // BONUS_REAL 字段是发到用户的真实奖金
             if ( $fxPvStatus ) {
-                // 管理奖改成了蓝星奖,但是对于用户来说依旧叫管理奖.字段改成bs.
-                // 因为管理奖(即蓝星奖,是用存储过程计算的,则此处直接取AR_CALC_BONUS_BS表中计算的结果数据使用,
-                // 并将管理奖结果同步到当前结算月的CalcBonus中)
-                // 由于单独奖金流水记录每次都插入,所以倒叙找最新的数据.
+                // 月节点,获取蓝星管理奖数据
                 $userBS = CalcBonusBS::find()
                 ->where(
                     'PERIOD_NUM=:PERIOD_NUM AND USER_ID=:USER_ID',
@@ -3515,8 +3479,6 @@ class BonusCalc extends BaseObject {
                 $userBS = is_array($userBS) ? reset($userBS) : [];
                 $blueStartAmount = isset($userBS['AMOUNT']) && !empty($userBS['AMOUNT']) ? $userBS['AMOUNT'] : 0; // 奖金
                 $buleStartOriBonus = isset($userBS['ORI_BONUS']) && !empty($userBS['ORI_BONUS']) ? $userBS['ORI_BONUS'] : 0; // 原奖金
-                // $buleStartManageTax = isset($userBS['MANAGE_TAX']) && !empty($userBS['MANAGE_TAX']) ? $userBS['MANAGE_TAX'] : 0; // 管理费
-                // 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分.获取总gx原奖金,一起扣除管理费和复消积分
 
                 $blueBonusGL = isset($userBS['ORI_BONUS_BU_GL']) && !empty($userBS['ORI_BONUS_BU_GL']) ? $userBS['ORI_BONUS_BU_GL'] : 0; // 拆分管理奖原奖金
                 $blueBonusYJ = isset($userBS['ORI_BONUS_BU_YJ']) && !empty($userBS['ORI_BONUS_BU_YJ']) ? $userBS['ORI_BONUS_BU_YJ'] : 0; // 拆分业绩奖原奖金
@@ -3525,8 +3487,9 @@ class BonusCalc extends BaseObject {
                 $blueBonusYJSF = isset($userBS['ORI_BONUS_BU_YJSF']) && !empty($userBS['ORI_BONUS_BU_YJSF']) ? $userBS['ORI_BONUS_BU_YJSF'] : 0; // 拆分业绩奖 实发
 
                 //$blueStartAmount = $blueBonusGLSF + $blueBonusYJSF; // 总实发,管理奖实发+业绩奖实发
+                #rm1820 共享奖金月节点合起来原奖金一起扣除管理费和复消积分
                 $monthSumData = CalcBonus::findUseSlaves()
-                ->select('SUM(BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')
+                ->select('SUM(ORI_BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')
                 ->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', 
                     [
                         'USER_ID'=>$userId, 
@@ -3535,89 +3498,40 @@ class BonusCalc extends BaseObject {
                 )
                 ->asArray()
                 ->one();
-                // 因为非月节点周期,未发放复消积分.所以,需要结算月满足最低消费的时候,一起发放
-                $gxPointMonth = CalcBonusGX::findUseSlaves()
-                ->select('SUM(RECONSUME_POINTS) AS FLOW_GX_POINT, SUM(MANAGE_TAX) AS FLOW_MANAGE_TAX')
-                ->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH AND PERIOD_NUM!=:PERIOD_NUM', 
-                    [
-                        'USER_ID'=>$userId, 
-                        'CALC_MONTH'=>$this->_calcYearMonth,
-                        'PERIOD_NUM' => $this->_periodNum
-                    ]
-                )
-                ->asArray()
-                ->one();
-                // 如果已发放了复消积分,则不能再累加之前的了
                 $bonusGxSum = $monthSumData['BONUS_GX_SUM'] ?? 0;
+                $bonusGxSum = $bonus['ORI_BONUS_GX'] + $bonusGxSum;
+                $oriGxMonthBonus = $bonusGxSum;
+                if ($bonusGxSum > 0) {
+                    // 扣除管理费和复消积分
+                    //扣除相应的复消积分和管理费
+                    $deductData = $this->deduct($userId, $bonusGxSum);
+                    $monthGxReal = $deductData['surplus']; // 扣除管理费和复消积分后的实发金额
+                    $monthGxManageTax = $deductData['manageTax']; // 管理费
+                    $monthGxpoint = $deductData['reConsumePoints'];// 复消积分
+                }
+                $realBonusGx = $monthGxReal;
                 $bonusGlSum = $monthSumData['BONUS_GL_SUM'] ?? 0;
-                $bonusPoint = $gxPointMonth['FLOW_GX_POINT'] ?? 0;
-                $bonusManage = $gxPointMonth['FLOW_MANAGE_TAX'] ?? 0;
-                $bonus['RECONSUME_POINTS'] = $bonus['RECONSUME_POINTS'] + $bonusPoint;
-                $bonus['MANAGE_TAX'] = $bonus['MANAGE_TAX'] + $bonusManage;
-                $realBonusGx += $bonusGxSum + $bonus['BONUS_GX'];
+                $bonus['RECONSUME_POINTS'] = $bonus['RECONSUME_POINTS'] + $monthGxpoint;
+                $bonus['MANAGE_TAX'] = $bonus['MANAGE_TAX'] + $monthGxManageTax;
                 $realBonusGl += $bonusGlSum + $bonus['BONUS_GL'];
                 $realBonusBs = $blueStartAmount;
                 $bonusReal += $realBonusGx + $realBonusBs + $realBonusGl;
                 $exchangePoints = isset($userBS['PRODUCT_POINT']) && !empty($userBS['PRODUCT_POINT']) ? $userBS['PRODUCT_POINT'] : 0; // 兑换积分
                 unset($monthSumData, $bonusGxSum, $bonusGlSum);
-                //因为调用两次缓存 所以需要减去多余的蓝星总奖金
                 $oriBonusBs = isset($bonus['ORI_BONUS_BS']) && $bonus['ORI_BONUS_BS'] > 0 ? $bonus['ORI_BONUS_BS'] : 0;
                 $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] - $blueBonusGL - $blueBonusYJ;
+                // 共享奖最后一起算,所以总原奖金中,需要加上整个月的数据
+                $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] + $oriGxMonthBonus;
             } else {
                 // 蓝星奖原奖金在扣管理费的时候被加入到了BONUS_TOTAL,需要再减去原奖金
                 $oriBonusBs = isset($bonus['ORI_BONUS_BS']) && $bonus['ORI_BONUS_BS'] > 0 ? $bonus['ORI_BONUS_BS'] : 0;
                 // 如果未满足,则复消积分,应该不能发放
-                $bonus['RECONSUME_POINTS'] = $bonus['RECONSUME_POINTS']- $bonus['GX_RECONSUME_POINTS'];
-                $bonus['MANAGE_TAX'] = $bonus['MANAGE_TAX'] - $bonus['GX_MANAGE_TAX'];
                 $oriBonusBsYJCF = isset($bonus['ORI_BONUS_BU_YJ']) && $bonus['ORI_BONUS_BU_YJ'] > 0 ? $bonus['ORI_BONUS_BU_YJ'] : 0;
                 $oriBonusBsGLCF = isset($bonus['ORI_BONUS_BU_GL']) && $bonus['ORI_BONUS_BU_GL'] > 0 ? $bonus['ORI_BONUS_BU_GL'] : 0;
                 $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] - $oriBonusBs - $oriBonusBsYJCF - $oriBonusBsGLCF;
             }
-        } else {
-            // 非月节点,共享奖金不发放复消积分和奖金
-            $bonus['RECONSUME_POINTS'] = $bonus['RECONSUME_POINTS']- $bonus['GX_RECONSUME_POINTS'];
-            $bonus['MANAGE_TAX'] = $bonus['MANAGE_TAX'] - $bonus['GX_MANAGE_TAX'];
-        }
-        // if( $this->_isCalcMonth ) {
-        //     // 将查看是否复消300的逻辑,改成月结时判断当前月有一周活跃则本月活跃
-        //     // 1. 获取此业绩期的月份
-        //     $periodInfo = Period::getInfoByPeriodNum($this->_periodNum);
-            
-        //     $calcMonth = $periodInfo['CALC_YEAR'].'-'.$periodInfo['CALC_MONTH']; // 2025-7
-        //     // 获取此月的第一天和最后一天时间戳
-        //     $fday = date('Y-m-01', strtotime($calcMonth));
-        //     $lday = date('Y-m-d', strtotime("$fday +1 month -1 day"));
-        //     $ftime = strtotime($fday);
-        //     $ltime = strtotime($lday.' 23:59:59');
-        //     // 2. 根据业绩期的月份,判断用户是否是活跃状态.
-        //     $fxPvStatus = PerfActiveUser::findUseDbCalc()
-        //     ->select('USER_ID')
-        //     ->where("USER_ID=:USER_ID ", [':USER_ID' => $userId])
-        //     ->andWhere(['or',
-        //         [
-        //             'and',
-        //             ['>=', 'SRATR_AT', $ftime],
-        //             ['<=', 'SRATR_AT', $ltime]
-        //         ],
-        //         [
-        //             'and',
-        //             ['>=', 'END_AT', $ftime],
-        //             ['<=', 'END_AT', $ltime]
-        //         ]
-        //     ])
-        //     ->asArray()
-        //     ->all();
-        //     if ( !empty($fxPvStatus) ) {//加上本期和往期的共享和管理奖
-        //         $monthSumData = CalcBonus::findUseSlaves()->select('SUM(BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth])->asArray()->one();
-        //         $bonusGxSum = $monthSumData['BONUS_GX_SUM'] ?? 0;
-        //         $bonusGlSum = $monthSumData['BONUS_GL_SUM'] ?? 0;
-        //         $realBonusGx += $bonusGxSum + $bonus['BONUS_GX'];
-        //         $realBonusGl += $bonusGlSum + $bonus['BONUS_GL'];
-        //         $bonusReal += $realBonusGx + $realBonusGl;
-        //         unset($monthSumData, $bonusGxSum, $bonusGlSum);
-        //     }
-        // }
-
+        }
+        
         $result = [
             'USER_ID' => $userId,
             'LAST_USER_NAME' => $baseInfo['USER_NAME'],
@@ -3663,6 +3577,9 @@ class BonusCalc extends BaseObject {
             'ORI_BONUS_YJ_BD' => $bonus['ORI_BONUS_YJ_BD'],
             'ORI_BONUS_YJ_FX' => $bonus['ORI_BONUS_YJ_FX'],
             'ORI_BONUS_GX' => $bonus['ORI_BONUS_GX'],
+            'ORI_MONTH_GX_BONUS' => $oriGxMonthBonus,
+            'GX_MANAGE_TAX' => $monthGxManageTax, //月共享奖管理费
+            'GX_RECONSUME_POINTS' => $monthGxpoint, //月共享奖复消积分
             'REAL_BONUS_GX' => $realBonusGx,
             'ORI_BONUS_GL' => $bonus['ORI_BONUS_GL'],
             'REAL_BONUS_GL' => $realBonusGl,

+ 1 - 1
common/helpers/bonus/BonusSend.php

@@ -317,7 +317,7 @@ class BonusSend extends BaseObject {
                             'BD' => $data['BONUS_BD'],
                             'TG' => $data['BONUS_TG'],
                             'YJ' => $data['BONUS_YJ'],
-                            'GX' => $data['BONUS_GX'],
+                            'GX' => $data['REAL_BONUS_GX'],
                             'GL' => $data['BONUS_GL'],
                             'BS' => $data['BONUS_BS'],
 

+ 11 - 4
frontendApi/modules/v1/controllers/BonusController.php

@@ -330,7 +330,11 @@ class BonusController extends BaseController {
     private function _periodBonus($periodNum,$detailSwitch=1) {
         $period = Period::instance();
         $yearMonth = $period->getYearMonth($periodNum);
-        if(!$calcBonus = CalcBonus::find()->yearMonth($yearMonth)->where('USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',[':USER_ID'=>\Yii::$app->user->id,':PERIOD_NUM'=>$periodNum])->asArray()->one()){
+        if(!$calcBonus = CalcBonus::find()
+        ->yearMonth($yearMonth)
+        ->where('USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',[':USER_ID'=>\Yii::$app->user->id,':PERIOD_NUM'=>$periodNum])
+        ->asArray()
+        ->one()){
             return [
 
             ];
@@ -375,7 +379,8 @@ class BonusController extends BaseController {
             // $data[] = ['name' => '管理奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_BU_GL'])];
 
             if ($sysConfig['openGX']['VALUE']) {
-                $data[] = ['name' => '共享奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_GX'])];
+                $data[] = ['name' => '周共享奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_GX'])];
+                $data[] = ['name' => '月共享奖金', 'value' => Tool::formatPrice($calcBonus['ORI_MONTH_GX_BONUS'])];
             }
             if ($sysConfig['openFW']['VALUE']) {
                 if (\Yii::$app->user->id == '670B84FD7C216D4EE055736AECE8644D') {
@@ -459,7 +464,7 @@ class BonusController extends BaseController {
         $showBonusPeriodNum = Cache::getSystemConfig()['showBonusPeriodNum']['VALUE'];
         $calcBonus = CalcBonus::find()->where('USER_ID=:USER_ID AND IS_SENT=1', [':USER_ID' => \Yii::$app->user->id])
         ->select('USER_ID,PERIOD_NUM,ORI_BONUS_QY,ORI_BONUS_YC,ORI_BONUS_VIP,ORI_BONUS_STANDARD,ORI_BONUS_BD,ORI_BONUS_TG,
-        ORI_BONUS_XF,BONUS_TOTAL,MANAGE_TAX,BONUS_REAL,BONUS_INCOME,ORI_BONUS_YJ,ORI_BONUS_GX,ORI_BONUS_GL,RECONSUME_POINTS,
+        ORI_BONUS_XF,BONUS_TOTAL,MANAGE_TAX,BONUS_REAL,BONUS_INCOME,ORI_BONUS_YJ,ORI_BONUS_GX,ORI_MONTH_GX_BONUS,ORI_BONUS_GL,RECONSUME_POINTS,
         LAST_DEC_LV,LAST_EMP_LV,EXCHANGE_POINTS,ORI_BONUS_BS,ORI_BONUS_BU_GL,ORI_BONUS_BU_YJ')
         ->limit($showBonusPeriodNum)
         ->orderBy('PERIOD_NUM DESC')
@@ -495,7 +500,8 @@ class BonusController extends BaseController {
 
                 //共享奖
                 if ($sysConfig['openGX']['VALUE']) {
-                    $calcBonus[$key]['BONUS_GX'] = ['name' => '共享奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_BONUS_GX'])];
+                    $calcBonus[$key]['BONUS_GX'] = ['name' => '周共享奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_BONUS_GX'])];
+                    $calcBonus[$key]['ORI_MONTH_GX_BONUS'] = ['name' => '月共享奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_MONTH_GX_BONUS'])];
                 }
                 //服务奖
                 if ($sysConfig['openFW']['VALUE']) {
@@ -556,6 +562,7 @@ class BonusController extends BaseController {
 
             if ($sysConfig['openGX']['VALUE']) {
                 $tableKey[] = 'BONUS_GX';
+                $tableKey[] = 'ORI_MONTH_GX_BONUS';
             }
             // if ($sysConfig['openYC']['VALUE']) {
             //     $tableKey[] = 'BONUS_YC';