Quellcode durchsuchen

Merge branch 'new-version' into feature/1338-dd-gxLimit

root vor 3 Jahren
Ursprung
Commit
af5e77291b

+ 3 - 0
backendApi/modules/v1/controllers/BonusController.php

@@ -1022,6 +1022,9 @@ 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);

+ 2 - 0
backendApi/modules/v1/controllers/ShopController.php

@@ -17,6 +17,7 @@ use backendApi\modules\v1\models\lists\shop\OrderList;
 use backendApi\modules\v1\models\lists\shop\OrderShopList;
 use backendApi\modules\v1\models\lists\shop\OrderStandardList;
 use backendApi\modules\v1\models\lists\shop\PackageList;
+use common\helpers\bonus\CalcCache;
 use common\helpers\Cache;
 use common\helpers\Date;
 use common\helpers\Form;
@@ -54,6 +55,7 @@ class ShopController extends BaseController {
      * @throws \yii\web\HttpException
      */
     public function actionIndex() {
+
         $filter = $this->filterCondition([
             'TYPE'=> 'TYPE',
             'GIFT_TYPE'=> 'GIFT_TYPE',

+ 109 - 9
backendApi/modules/v1/models/lists/bonus/PeriodBonusList.php

@@ -335,30 +335,106 @@ class PeriodBonusList extends \common\libs\dataList\DataList implements DataList
                         'prop'=>'ORI_BONUS_QY_BD',
                     ],
                 ],
-                'BONUS_BS' => [
-                    'header' => '蓝星管理奖',
+
+
+                'ORI_BONUS_BU_YJ' => [
+                    'header' => '蓝星业绩奖原金额',
                     'value' => function($row) {
                         return (new Price([
-                            'value' => $row['BONUS_BS'],
+                            'value' => $row['ORI_BONUS_BU_YJ'],
                         ]))->result();
                     },
                     'headerOther' => [
-                        'width' => '120',
-                        'prop'=>'BONUS_BS',
+                        'width' => '150',
+                        'prop'=>'ORI_BONUS_BU_YJ',
+                    ],
+                ],
+//                'ORI_BONUS_BU_YJKC' => [
+//                    'header' => '蓝星业绩奖(管理费)',
+//                    'value' => function($row) {
+//                        return (new Price([
+//                            'value' => $row['ORI_BONUS_BU_YJKC'],
+//                        ]))->result();
+//                    },
+//                    'headerOther' => [
+//                        'width' => '150',
+//                        'prop'=>'ORI_BONUS_BU_YJKC',
+//                    ],
+//                ],
+                'ORI_BONUS_BU_YJSF' => [
+                    'header' => '蓝星业绩奖',
+                    'value' => function($row) {
+                        return (new Price([
+                            'value' => $row['ORI_BONUS_BU_YJSF'],
+                        ]))->result();
+                    },
+                    'headerOther' => [
+                        'width' => '150',
+                        'prop'=>'ORI_BONUS_BU_YJSF',
                     ],
                 ],
-                'ORI_BONUS_BS' => [
+
+                'ORI_BONUS_BU_GL' => [
                     'header' => '蓝星管理奖原金额',
                     'value' => function($row) {
                         return (new Price([
-                            'value' => $row['ORI_BONUS_BS'],
+                            'value' => $row['ORI_BONUS_BU_GL'],
                         ]))->result();
                     },
                     'headerOther' => [
-                        'width' => '120',
-                        'prop'=>'ORI_BONUS_BS',
+                        'width' => '150',
+                        'prop'=>'ORI_BONUS_BU_GL',
+                    ],
+                ],
+//                'ORI_BONUS_BU_GLKC' => [
+//                    'header' => '蓝星管理奖(管理费)',
+//                    'value' => function($row) {
+//                        return (new Price([
+//                            'value' => $row['ORI_BONUS_BU_GLKC'],
+//                        ]))->result();
+//                    },
+//                    'headerOther' => [
+//                        'width' => '150',
+//                        'prop'=>'ORI_BONUS_BU_GLKC',
+//                    ],
+//                ],
+                'ORI_BONUS_BU_GLSF' => [
+                    'header' => '蓝星管理奖',
+                    'value' => function($row) {
+                        return (new Price([
+                            'value' => $row['ORI_BONUS_BU_GLSF'],
+                        ]))->result();
+                    },
+                    'headerOther' => [
+                        'width' => '150',
+                        'prop'=>'ORI_BONUS_BU_GLSF',
                     ],
                 ],
+
+//                'BONUS_BS' => [
+//                    'header' => '蓝星管理奖',
+//                    'value' => function($row) {
+//                        return (new Price([
+//                            'value' => $row['BONUS_BS'],
+//                        ]))->result();
+//                    },
+//                    'headerOther' => [
+//                        'width' => '120',
+//                        'prop'=>'BONUS_BS',
+//                    ],
+//                ],
+//                'ORI_BONUS_BS' => [
+//                    'header' => '蓝星管理奖原金额',
+//                    'value' => function($row) {
+//                        return (new Price([
+//                            'value' => $row['ORI_BONUS_BS'],
+//                        ]))->result();
+//                    },
+//                    'headerOther' => [
+//                        'width' => '120',
+//                        'prop'=>'ORI_BONUS_BS',
+//                    ],
+//                ],
                 // 'REAL_BONUS_BS' => [
                 //     'header' => '实发蓝星管理奖',
                 //     'value' => function($row) {
@@ -641,6 +717,30 @@ class PeriodBonusList extends \common\libs\dataList\DataList implements DataList
                         'prop'=>'REAL_BONUS_GL',
                     ],
                 ],
+				'BONUS_BS' => [
+				    'header' => '蓝星奖',
+				    'value' => function($row) {
+				        return (new Price([
+				            'value' => $row['BONUS_BS'],
+				        ]))->result();
+				    },
+				    'headerOther' => [
+				        'width' => '120',
+				        'prop'=>'BONUS_BS',
+				    ],
+				],
+				'ORI_BONUS_BS' => [
+				    'header' => '蓝星奖原金额',
+				    'value' => function($row) {
+				        return (new Price([
+				            'value' => $row['ORI_BONUS_BS'],
+				        ]))->result();
+				    },
+				    'headerOther' => [
+				        'width' => '120',
+				        'prop'=>'ORI_BONUS_BS',
+				    ],
+				],
 //                'BONUS_FW' => [
 //                    'header' => '服务奖',
 //                    'value' => function($row) {

+ 1 - 1
backendEle/src/utils/config_development_example.js

@@ -8,7 +8,7 @@ const WEBSOCKET_HOST = 'ws://127.0.0.1:9512'
 const BONUS_WEBSOCKET_HOST = 'ws://127.0.0.1:9512'
 const DEVICE_TYPE = 'pc'
 const ACCESS_TOKEN_PREFIX = 'Bearer '
-const CDN_BASE_URL = 'http://16.163.228.151:8016'
+const CDN_BASE_URL = 'http://127.0.0.1:3034'
 const CDN_IMG_URL = `${CDN_BASE_URL}/cdn/`
 const PRICE_IS_ROUND = true
 const FRONTEND_SERVER = 'http://16.163.228.151:8015'

+ 2 - 1
backendEle/src/views/bonus/new-period-bonus.vue

@@ -77,7 +77,8 @@ export default {
     getData(page, pageSize) {
       let filterData = this.filterModel
       let vueObj = this
-      network.getPageData(this, 'bonus/new-period-bonus', page, pageSize, filterData, function (response) {
+      network.getPageData(this, 'bonus/new-period-bonus', page, pageSize, filterData, function (response) {
+		console.log(response);
         vueObj.filterTypes = response.filterTypes
         vueObj.allData = response
         // vueObj.sumData = response.sumData

+ 171 - 12
common/helpers/bonus/BonusCalc.php

@@ -281,6 +281,8 @@ class BonusCalc extends BaseObject {
             $this->calcBsProcedure();
             // 将有蓝星管理奖金的用户加入到有奖金缓存用户中
             $this->calcBonusBsGL();
+            $this->calcBonusBsGLCF();
+            $this->calcBonusBsYJCF();
             $t18temp = microtime(true);
             echo('计算蓝星管理奖'.($this->_sysConfig['openGL']['VALUE']?'完成':'关闭').',耗时:' . round($t18temp - $t18, 3) . ',内存使用:' . (round(memory_get_usage() / 1024 / 1024, 3)) . 'MB' . PHP_EOL);
             $this->_updatePercent(65);
@@ -292,7 +294,7 @@ class BonusCalc extends BaseObject {
             $this->_updatePercent(70);
 
             //奖金写库
-            // 这里增加新的奖金入库操作.
+            // TODO:这里增加新的奖金入库操作.
             $this->loopBonusUsers();
             // 入库完成,将各个奖金计算流水会员聘级,更新成蓝星奖当时计算的聘级
             $this->loopCalcBlueEmpLv();
@@ -1625,8 +1627,9 @@ class BonusCalc extends BaseObject {
         return $result;
     }
 
+
     /**
-     * 蓝星管理奖金
+     * 蓝星管理奖金未拆分
      * @param int $offset
      * @return bool
      * @throws \yii\db\Exception
@@ -1654,7 +1657,8 @@ class BonusCalc extends BaseObject {
                     //扣除相应的复消积分和管理费
                     $deductData = $this->deduct($user['USER_ID'], $user['ORI_BONUS']);
                     // 把对碰后的奖金存入缓存中
-                    CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BS', $user['ORI_BONUS'], $deductData);
+                   // CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BS', $user['ORI_BONUS'], $deductData);
+                    CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BS', $user['ORI_BONUS']);
                     $realBonusBs = $deductData['surplus']; // 扣除管理费和复消积分后的实发蓝星奖金
                     $manageTax = $deductData['manageTax']; // 管理费
                     $point = $deductData['reConsumePoints'];// 复消积分
@@ -1665,18 +1669,135 @@ class BonusCalc extends BaseObject {
                     $manageTax = 0; // 管理费
                     $point = 0;// 复消积分
                 }
+
+                // 更新蓝星奖金存储过程的实发金额数据
+                CalcBonusBS::updateAll(['AMOUNT' => $realBonusBs, 'MANAGE_TAX' => $manageTax, 'RECONSUME_POINTS' => $point],
+                    'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
+                    [':USER_ID' => $user['USER_ID'], ':PERIOD_NUM' => $this->_periodNum]);
+            }
+            return $this->calcBonusBsGL($offset + $this->_limit);
+        }
+        unset($allData);
+        return true;
+    }
+
+    /**
+     * 蓝星管理奖金
+     * @param int $offset
+     * @return bool
+     * @throws \yii\db\Exception
+     */
+    public function calcBonusBsGLCF(int $offset = 0) {
+        if( !$this->_isCalcMonth ) {
+            // 不是结算月,则不进行计算
+            return false;
+        }
+        // 从缓存获取分页有收入的会员信息
+        $allData = CalcBonusBS::findUseDbCalc()
+            ->where('PERIOD_NUM=:PERIOD_NUM', [':PERIOD_NUM' => $this->_periodNum])
+            ->groupBy('USER_ID')
+            ->offset($offset)
+            ->limit($this->_limit)
+            ->asArray()
+            ->all();
+        if ($allData) {
+            foreach ($allData as $user) {
+                // 添加到有奖励信息的数据中
+                // 注释到---
+                //CalcCache::addHasBonusUsers($user['USER_ID'], $this->_periodNum);
+                //CalcCache::addHasMonthBonusUsers($user['USER_ID'], $this->_periodNum);
+
+
+                $fxStatus = $this->_isMonthPerfLimit($user['USER_ID']);
+                if ($fxStatus) {
+                    //扣除相应的复消积分和管理费
+                    $deductData = $this->deduct($user['USER_ID'], $user['ORI_BONUS_BU_GL']);
+                    // 把对碰后的奖金存入缓存中
+                    CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BU_GL', $user['ORI_BONUS_BU_GL'], $deductData);
+                    $realBonusBs = $deductData['surplus']; // 扣除管理费和复消积分后的实发蓝星奖金
+                    $manageTax = $deductData['manageTax']; // 管理费
+                    $point = $deductData['reConsumePoints'];// 复消积分
+                    //管理奖管理费存入缓存
+                //CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BU_GLKC', $manageTax);
+                } else {
+                    // 如果未满足月消费,则不扣除管理费和复消积分了
+                    CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BU_GL', $user['ORI_BONUS_BU_GL']);
+                    $realBonusBs = $user['ORI_BONUS_BU_GL'];
+                    $manageTax = 0; // 管理费
+                    $point = 0;// 复消积分
+                }
                 
+
                 // 更新蓝星奖金存储过程的实发金额数据
-                CalcBonusBS::updateAll(['AMOUNT' => $realBonusBs, 'MANAGE_TAX' => $manageTax, 'RECONSUME_POINTS' => $point], 
+                CalcBonusBS::updateAll(['ORI_BONUS_BU_GLSF' => $realBonusBs, 'ORI_BONUS_BU_GLKC' => $manageTax, 'ORI_BONUS_BU_GLFX' => $point],
                 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM', 
                 [':USER_ID' => $user['USER_ID'], ':PERIOD_NUM' => $this->_periodNum]);
             }
-            return $this->calcBonusBsGL($offset + $this->_limit);
+            return $this->calcBonusBsGLCF($offset + $this->_limit);
         }
         unset($allData);
         return true;
     }
 
+    /**
+     * 蓝星业绩奖金
+     * @param int $offset
+     * @return bool
+     * @throws \yii\db\Exception
+     */
+    public function calcBonusBsYJCF(int $offset = 0) {
+        if( !$this->_isCalcMonth ) {
+            // 不是结算月,则不进行计算
+            return false;
+        }
+        // 从缓存获取分页有收入的会员信息
+        $allData = CalcBonusBS::findUseDbCalc()
+            ->where('PERIOD_NUM=:PERIOD_NUM', [':PERIOD_NUM' => $this->_periodNum])
+            ->groupBy('USER_ID')
+            ->offset($offset)
+            ->limit($this->_limit)
+            ->asArray()
+            ->all();
+        if ($allData) {
+            foreach ($allData as $user) {
+                // 添加到有奖励信息的数据中
+                //CalcCache::addHasBonusUsers($user['USER_ID'], $this->_periodNum);
+                //CalcCache::addHasMonthBonusUsers($user['USER_ID'], $this->_periodNum);
+
+
+                $fxStatus = $this->_isMonthPerfLimit($user['USER_ID']);
+                if ($fxStatus) {
+                    //扣除相应的复消积分和管理费
+                    $deductData = $this->deduct($user['USER_ID'], $user['ORI_BONUS_BU_YJ']);
+                    // 把对碰后的奖金存入缓存中
+                    CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BU_YJ', $user['ORI_BONUS_BU_YJ'], $deductData);
+                    $realBonusBs = $deductData['surplus']; // 扣除管理费和复消积分后的实发蓝星奖金
+                    $manageTax = $deductData['manageTax']; // 管理费
+                    $point = $deductData['reConsumePoints'];// 复消积分
+                    //管理奖管理费存入缓存
+                    //CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BU_YJKC', $manageTax);
+                } else {
+                    // 如果未满足月消费,则不扣除管理费和复消积分了
+                    CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BU_YJ', $user['ORI_BONUS_BU_YJ']);
+                    $realBonusBs = $user['ORI_BONUS_BU_YJ'];
+                    $manageTax = 0; // 管理费
+                    $point = 0;// 复消积分
+                }
+
+
+                // 更新蓝星奖金存储过程的实发金额数据
+                CalcBonusBS::updateAll(['ORI_BONUS_BU_YJSF' => $realBonusBs, 'ORI_BONUS_BU_YJKC' => $manageTax, 'ORI_BONUS_BU_YJFX' => $point],
+                    'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
+                    [':USER_ID' => $user['USER_ID'], ':PERIOD_NUM' => $this->_periodNum]);
+            }
+            return $this->calcBonusBsYJCF($offset + $this->_limit);
+        }
+        unset($allData);
+        return true;
+    }
+
+
+
     /**
      * 报单管理奖
      * @param int $offset
@@ -3008,8 +3129,8 @@ class BonusCalc extends BaseObject {
         if( $reConsumePointsTotal < $reConsumePointsCap ) {
             $reConsumePoints = $bonus * $this->_sysConfig['reConsumePointsPercent']['VALUE'] / 100;
 
-            // 2022/05/17 复消积分去掉限制,config reConsumePointsMonthCap上限改成大值如5000000
-            //$reConsumePoints = min($reConsumePoints, $reConsumePointsCap-$reConsumePointsTotal);
+            // 2022/06/07上限改成10000000
+            $reConsumePoints = min($reConsumePoints, $reConsumePointsCap-$reConsumePointsTotal);
         }
         unset($reConsumePointsTotal, $reConsumePointsCap);
 
@@ -3043,18 +3164,23 @@ class BonusCalc extends BaseObject {
         }
 
         $allData = CalcMonthBonusUser::findUseDbCalc()->where('CALC_MONTH=:CALC_MONTH', [':CALC_MONTH' => $this->_calcYearMonth])->offset($offset)->limit($this->_limit)->asArray()->all();
+
         if ( $allData ) {
             foreach ($allData as $everyData) {
+
                 CalcCache::addHasBonusUsers($everyData['USER_ID'], $this->_periodNum);
 
                 unset($everyData);
+
             }
 
             unset($allData);
+
             $this->loopMonthBonusUserFromDbToCache($offset + $this->_limit);
         }
 
         unset($allData);
+
         return true;
     }
 
@@ -3106,6 +3232,7 @@ class BonusCalc extends BaseObject {
         // 给用户发送兑换积分,也需要进行调整查看。
         // CalcCache::addHasBonusUsers($everyData['USER_ID'], $this->_periodNum);
         $allData = CalcCache::getHasBonusUsers($this->_periodNum, $offset, $this->_limit);
+
         if($allData){
             $insertDataBonus = [];
             foreach($allData as $userId){
@@ -3116,6 +3243,8 @@ class BonusCalc extends BaseObject {
 
                 unset($userId, $tempBonusData);
             }
+//            echo json_encode($insertDataBonus);
+//            exit();
             CalcBonus::batchInsert($insertDataBonus);
 
             unset($insertDataBonus, $allData);
@@ -3250,7 +3379,7 @@ class BonusCalc extends BaseObject {
 
 
         //没有共享和管理奖
-        $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;
+        $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 + $bonus['BONUS_BU_GL']+ $bonus['BONUS_BU_YJ'];
         $realBonusGx = 0;
         $realBonusGl = 0;
         $realBonusBs = 0; // 蓝星管理奖. BlueStar
@@ -3258,6 +3387,12 @@ class BonusCalc extends BaseObject {
         $buleStartOriBonus = 0;
         $buleStartManageTax = 0;
         $exchangePoints = 0; // 蓝星奖管理奖. 产生的兑换积分
+
+        $blueBonusGL = 0; //拆分蓝星管理奖,原奖金
+        $blueBonusYJ = 0; //拆分蓝星业绩奖,原奖金
+        $blueBonusGLSF = 0;//拆分蓝星管理奖,实发
+        $blueBonusYJSF = 0;//拆分蓝星业绩奖,实发
+
         if( $this->_isCalcMonth ) {
             // 查看是否复消300
             // $monthPerfData = CalcCache::nowMonthPerf($userId, $this->_periodNum);
@@ -3286,15 +3421,23 @@ class BonusCalc extends BaseObject {
                         ':USER_ID' => $userId
                     ]
                 )
-                ->select('AMOUNT,ORI_BONUS,MANAGE_TAX,LEVEL_ID,PRODUCT_POINT')
+                ->select('AMOUNT,ORI_BONUS,MANAGE_TAX,LEVEL_ID,PRODUCT_POINT,ORI_BONUS_BU_YJ,ORI_BONUS_BU_YJSF,ORI_BONUS_BU_GL,ORI_BONUS_BU_GLSF')
                 ->limit(1)
                 ->orderBy('CREATED_AT DESC')
                 ->asArray()
                 ->all();
                 $userBS = is_array($userBS) ? reset($userBS) : [];
-                $blueStartAmount = isset($userBS['AMOUNT']) && !empty($userBS['AMOUNT']) ? $userBS['AMOUNT'] : 0; // 奖金
+               // $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; // 管理费
+
+                $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; // 拆分业绩奖原奖金
+
+                $blueBonusGLSF = isset($userBS['ORI_BONUS_BU_GLSF']) && !empty($userBS['ORI_BONUS_BU_GLSF']) ? $userBS['ORI_BONUS_BU_GLSF'] : 0; // 拆分管理奖 实发
+                $blueBonusYJSF = isset($userBS['ORI_BONUS_BU_YJSF']) && !empty($userBS['ORI_BONUS_BU_YJSF']) ? $userBS['ORI_BONUS_BU_YJSF'] : 0; // 拆分业绩奖 实发
+
+                $blueStartAmount = $blueBonusGLSF + $blueBonusYJSF; // 总实发,管理奖实发+业绩奖实发
                 $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', 
@@ -3309,14 +3452,19 @@ class BonusCalc extends BaseObject {
                 $bonusGlSum = $monthSumData['BONUS_GL_SUM'] ?? 0;
                 $realBonusGx += $bonusGxSum + $bonus['BONUS_GX'];
                 $realBonusGl += $bonusGlSum + $bonus['BONUS_GL'];
-                $realBonusBs = $blueStartAmount; // 蓝星奖直接取数据库中算好的值PRODUCT_POINT
+                $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'] - $oriBonusBs;
             } else {
                 // 蓝星奖原奖金在扣管理费的时候被加入到了BONUS_TOTAL,需要再减去原奖金
                 $oriBonusBs = isset($bonus['ORI_BONUS_BS']) && $bonus['ORI_BONUS_BS'] > 0 ? $bonus['ORI_BONUS_BS'] : 0;
-                $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] - $oriBonusBs;
+                $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;
             }
         }
         // if( $this->_isCalcMonth ) {
@@ -3419,6 +3567,17 @@ class BonusCalc extends BaseObject {
             'ORI_BONUS_VIP' => $bonus['ORI_BONUS_VIP'],
             'ORI_BONUS_STANDARD' => $standardBonus,
 
+
+
+           // 'ORI_BONUS_BU_GLSF' => $bonus['BONUS_BU_GL'],
+            'ORI_BONUS_BU_GLSF' => $blueBonusGLSF,
+            'ORI_BONUS_BU_GL' => $blueBonusGL,
+
+
+            'ORI_BONUS_BU_YJ' => $blueBonusYJ,
+           // 'ORI_BONUS_BU_YJSF' => $bonus['BONUS_BU_YJ'],
+            'ORI_BONUS_BU_YJSF' => $blueBonusYJSF,
+
             //以下没有用
             'BONUS_FW' => 0,
             'BONUS_FX' => $bonus['BONUS_FX'],

+ 12 - 0
common/helpers/bonus/CalcCache.php

@@ -1433,6 +1433,15 @@ class CalcCache {
             'BONUS_YC' => 0,
             'BONUS_VIP' => 0,
             'BONUS_BS' => 0,
+
+            'BONUS_BU_GL'=>0,  //蓝星管理奖实发
+            'BONUS_BU_YJ'=>0,  // 蓝星业绩奖实发
+            'ORI_BONUS_BU_GL'=>0, //蓝星管理奖原奖金
+            'ORI_BONUS_BU_YJ'=>0, //蓝星业绩奖原奖金
+            'BONUS_BU_GLKC'=>0, //蓝星管理奖,管理费
+            'BONUS_BU_YJKC'=>0, //蓝星业绩奖,管理费
+
+
             'BONUS_YC_EXTRA' => 0,
             'ORI_BONUS_BD' => 0,
             'ORI_BONUS_BS' => 0,
@@ -1471,6 +1480,7 @@ class CalcCache {
             'DEDUCT_ZR' => 0,
             'BONUS_FL' => 0,
         ];
+
         // 从 redis 中获取当前的结果
         $cacheValue = \Yii::$app->redis->hget($cacheKey, $userId);
         if ($cacheValue) {
@@ -1509,6 +1519,8 @@ class CalcCache {
             self::addHasBonusUsers($userId, $periodNum);
         }
         unset($userId, $periodNum, $bonusType, $oriBonus, $deductData, $cacheKey);
+//        echo json_encode($value);
+//        exit();
         return $value;
     }
 

+ 9 - 1
common/models/CalcBonus.php

@@ -233,7 +233,15 @@ class CalcBonus extends \common\components\ActiveRecord
             'MANAGE_TAX'=> '管理费',
             'EXCHANGE_POINTS' => '兑换点数',
             'BONUS_BS' => '蓝星奖',
-            'ORI_BONUS_BS' => '蓝星原奖金'
+            'ORI_BONUS_BS' => '蓝星原奖金',
+
+            'ORI_BONUS_BU_GL'=>'蓝星管理奖原奖金',
+            'ORI_BONUS_BU_GLKC'=>'蓝星管理奖管理费',
+            'ORI_BONUS_BU_GLSF'=>'蓝星管理奖实发',
+            'ORI_BONUS_BU_YJ'=>'蓝星业绩奖原奖金',
+            'ORI_BONUS_BU_YJKC'=>'蓝星业绩奖管理费',
+            'ORI_BONUS_BU_YJSF'=>'蓝星业绩奖实发'
+
         ];
     }
 

+ 6 - 0
common/models/CalcBonusBS.php

@@ -73,6 +73,12 @@ class CalcBonusBS extends \common\components\ActiveRecord
             'LOGS' => '日志',
             'ORI_BONUS' => '原奖金',
             'MANAGE_TAX' => '管理费',
+            'ORI_BONUS_BU_YJ'=>'蓝星业绩原奖金',
+            'ORI_BONUS_BU_YJKC'=>'蓝星业绩管理费',
+            'ORI_BONUS_BU_YJSF'=>'蓝星业绩实发',
+            'ORI_BONUS_BU_GL'=>'蓝星管理原奖金',
+            'ORI_BONUS_BU_GLKC'=>'蓝星管理奖管理费',
+            'ORI_BONUS_BU_GLSF'=>'蓝星管理奖实发'
         ];
     }
 }

+ 6 - 0
common/models/CalcBonusBsDetail.php

@@ -72,6 +72,12 @@ class CalcBonusBsDetail extends \common\components\ActiveRecord
             'BONUS90' => 'BONUS90',
             'BONUS100' => 'BONUS100',
             'BONUS110' => 'BONUS110',
+            'ORI_BONUS_BU_YJ'=>'蓝星业绩原奖金',
+            'ORI_BONUS_BU_YJKC'=>'蓝星业绩管理费',
+            'ORI_BONUS_BU_YJSF'=>'蓝星业绩实发',
+            'ORI_BONUS_BU_GL'=>'蓝星管理原奖金',
+            'ORI_BONUS_BU_GLKC'=>'蓝星管理奖管理费',
+            'ORI_BONUS_BU_GLSF'=>'蓝星管理奖实发'
         ];
     }
 

+ 3 - 3
common/models/ShopGoods.php

@@ -163,9 +163,9 @@ class ShopGoods extends \common\components\ActiveRecord
             'cash'=>[
                 'name'=>'消费点数支付'
             ],
-            // 'point'=>[
-            //     'name'=>'积分支付'
-            // ],
+            'point'=>[
+                'name'=>'复销点数支付'
+            ],
             'exchange' => [
                 'name' => '无业绩兑换点数'
             ]

+ 4 - 4
common/models/forms/DecPackageForm.php

@@ -101,7 +101,10 @@ class DecPackageForm extends Model
         } elseif($this->scenario == 'edit') {
             $model = DeclarationPackage::findOne(['ID'=>$this->id]);
             $model->UPDATE_ADMIN = Admin::getAdminNameById(\Yii::$app->user->id);
-            $model->UPDATED_AT = Date::nowTime();
+            $model->UPDATED_AT = Date::nowTime();
+			$model->STATUS_DATE = $this->statusdate;
+			$model->PACKAGE_STATUS_DATE = $this->packagestatusdate;
+			$model->PACKAGE_DATE = $this->packagedate / 1000;
         } else {
             $this->addError('id', '提交场景不存在');
             return null;
@@ -113,9 +116,6 @@ class DecPackageForm extends Model
         $model->LEVEL_ID = $this->levelId;
         $model->PACKAGE_CONTENT = $this->packageContent;
         $model->STORE_NUMS = $this->storenums;
-        $model->STATUS_DATE = $this->statusdate;
-        $model->PACKAGE_STATUS_DATE = $this->packagestatusdate;
-        $model->PACKAGE_DATE = $this->packagedate / 1000;
         if($model->save()){
             return $model;
         } else {

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

@@ -363,7 +363,12 @@ class BonusController extends BaseController {
                 $data[] = ['name' => '绩效奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_QY'])];
             }
             // 管理奖金 就是新的蓝星奖
-            $data[] = ['name' => '管理奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_BS'])];
+           // $data[] = ['name' => '管理奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_BS'])];
+            //蓝星业绩奖
+            $data[] = ['name' => '业绩奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_BU_YJ'])];
+            //蓝星管理奖
+            $data[] = ['name' => '管理奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_BU_GL'])];
+
             if ($sysConfig['openGX']['VALUE']) {
                 $data[] = ['name' => '共享奖金', 'value' => Tool::formatPrice($calcBonus['ORI_BONUS_GX'])];
             }
@@ -445,7 +450,7 @@ class BonusController extends BaseController {
         $calcBonus = CalcBonus::find()->where('USER_ID=:USER_ID AND IS_SENT=1', [':USER_ID' => \Yii::$app->user->id])
         ->select('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,
-        LAST_DEC_LV,LAST_EMP_LV,EXCHANGE_POINTS,ORI_BONUS_BS')
+        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')
         ->asArray()
@@ -470,7 +475,14 @@ class BonusController extends BaseController {
                     $calcBonus[$key]['BONUS_QY'] = ['name' => '绩效奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_BONUS_QY'])];
                 }
                 // 管理奖金 就是新的蓝星奖金
-                $calcBonus[$key]['BONUS_BS'] = ['name' => '管理奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_BONUS_BS'])];
+               // $calcBonus[$key]['BONUS_BS'] = ['name' => '管理奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_BONUS_BS'])];
+
+                // 蓝星业绩奖
+                $calcBonus[$key]['ORI_BONUS_BU_YJ'] = ['name' => '业绩奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_BONUS_BU_YJ'])];
+
+                // 蓝星管理奖
+                $calcBonus[$key]['ORI_BONUS_BU_GL'] = ['name' => '管理奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_BONUS_BU_GL'])];
+
                 //共享奖
                 if ($sysConfig['openGX']['VALUE']) {
                     $calcBonus[$key]['BONUS_GX'] = ['name' => '共享奖金', 'value' => Tool::formatPrice($calcBonus[$key]['ORI_BONUS_GX'])];
@@ -518,7 +530,11 @@ class BonusController extends BaseController {
             if ($sysConfig['openQY']['VALUE']) {
                 $tableKey[] = 'BONUS_QY';
             }
-            $tableKey[] = 'BONUS_BS';
+            //$tableKey[] = 'BONUS_BS';
+
+            $tableKey[] = 'ORI_BONUS_BU_YJ';
+            $tableKey[] = 'ORI_BONUS_BU_GL';
+
             if ($sysConfig['openGX']['VALUE']) {
                 $tableKey[] = 'BONUS_GX';
             }

+ 2 - 2
frontendApi/modules/v1/controllers/ShopController.php

@@ -84,12 +84,12 @@ class ShopController extends BaseController {
             }
         }
         $userBalance = [
-            // 'points' => 0,
+            'points' => 0,
             'cash' => 0,
             'exchange' => 0
         ];
         if ($userBonusResult = UserBonus::findOneAsArray(['USER_ID' => $userId])) {
-            // $userBalance['points'] = $userBonusResult['RECONSUME_POINTS'];
+            $userBalance['points'] = $userBonusResult['RECONSUME_POINTS'];
             $userBalance['exchange'] = $userBonusResult['EXCHANGE_POINTS'];
         }
         if ($userCashResult = UserWallet::findOneAsArray(['USER_ID' => $userId])) {

+ 1 - 1
frontendEle/src/views/bonus/other.vue

@@ -58,7 +58,7 @@
         let vueObj = this
         vueObj.loading = true
         network.getData('bonus/other').then(response => {
-          //console.log(response);
+          console.log(response);
           vueObj.tableData = response.tableData
           vueObj.tableKey = response.tableKey
           vueObj.loading = false

+ 3 - 3
frontendEle/src/views/shop/order.vue

@@ -66,10 +66,10 @@
                         <div>实付金额</div>
                         <div>¥{{payType=="cash"?cashSum:pointsSum}}元</div>
                     </div>
-                    <!-- <div class="sum_box">
-                        <div>账户积分</div>
+                    <div class="sum_box">
+                        <div>账户复销点数</div>
                         <div>{{balance.points}}</div>
-                    </div> -->
+                    </div>
                     <div class="sum_box">
                         <div>账户消费点数</div>
                         <div>¥{{balance.cash}}元</div>