root 3 rokov pred
rodič
commit
8f5558a503

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

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

+ 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://127.0.0.1:8086'

+ 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

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

@@ -278,9 +278,12 @@ class BonusCalc extends BaseObject {
 
             // 蓝星奖入库,实际上是插入有奖金会员数据缓存中.
             // 调用存储过程,计算蓝星管理奖金
+            echo '蓝星修改的方法-------------';
             $this->calcBsProcedure();
             // 将有蓝星管理奖金的用户加入到有奖金缓存用户中
+
             $this->calcBonusBsGL();
+            $this->calcBonusBsYJ();
             $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 +295,7 @@ class BonusCalc extends BaseObject {
             $this->_updatePercent(70);
 
             //奖金写库
-            // 这里增加新的奖金入库操作.
+            // TODO:这里增加新的奖金入库操作.
             $this->loopBonusUsers();
             // 入库完成,将各个奖金计算流水会员聘级,更新成蓝星奖当时计算的聘级
             $this->loopCalcBlueEmpLv();
@@ -1624,7 +1627,7 @@ class BonusCalc extends BaseObject {
         }
         // 从缓存获取分页有收入的会员信息
         $allData = CalcBonusBS::findUseDbCalc()
-            ->where('PERIOD_NUM=:PERIOD_NUM', [':PERIOD_NUM' => $this->_periodNum])
+            ->where('PERIOD_NUM=:PERIOD_NUM AND ORI_BONUS_BU_GL > 0', [':PERIOD_NUM' => $this->_periodNum])
             ->groupBy('USER_ID')
             ->offset($offset)
             ->limit($this->_limit)
@@ -1636,14 +1639,14 @@ class BonusCalc extends BaseObject {
                 CalcCache::addHasBonusUsers($user['USER_ID'], $this->_periodNum);
                 //CalcCache::addHasMonthBonusUsers($user['USER_ID'], $this->_periodNum);
                 //扣除相应的复消积分和管理费
-                $deductData = $this->deduct($user['USER_ID'], $user['ORI_BONUS']);
+                $deductData = $this->deduct($user['USER_ID'], $user['ORI_BONUS_BU_GL']);
                 // 把对碰后的奖金存入缓存中
-                CalcCache::bonus($user['USER_ID'], $this->_periodNum, 'BONUS_BS', $user['ORI_BONUS'], $deductData);
+                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'];// 复消积分
                 // 更新蓝星奖金存储过程的实发金额数据
-                CalcBonusBS::updateAll(['AMOUNT' => $realBonusBs, 'MANAGE_TAX' => $manageTax, 'RECONSUME_POINTS' => $point], 
+                CalcBonusBS::updateAll(['ORI_BONUS_BU_GLSF' => $realBonusBs, 'ORI_BONUS_BU_GLKC' => $manageTax, 'RECONSUME_POINTS' => $point],
                 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM', 
                 [':USER_ID' => $user['USER_ID'], ':PERIOD_NUM' => $this->_periodNum]);
             }
@@ -1653,6 +1656,50 @@ class BonusCalc extends BaseObject {
         return true;
     }
 
+
+    /**
+     * 蓝星业绩奖金
+     * @param int $offset
+     * @return bool
+     * @throws \yii\db\Exception
+     */
+    public function calcBonusBsYJ(int $offset = 0) {
+        if( !$this->_isCalcMonth ) {
+            // 不是结算月,则不进行计算
+            return false;
+        }
+        // 从缓存获取分页有收入的会员信息
+        $allData = CalcBonusBS::findUseDbCalc()
+            ->where('PERIOD_NUM=:PERIOD_NUM AND ORI_BONUS_BU_YJ > 0', [':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);
+                //扣除相应的复消积分和管理费
+                $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'];// 复消积分
+                // 更新蓝星奖金存储过程的实发金额数据
+                CalcBonusBS::updateAll(['ORI_BONUS_BU_YJSF' => $realBonusBs, 'ORI_BONUS_BU_YJKC' => $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
@@ -3080,6 +3127,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){
@@ -3090,6 +3138,8 @@ class BonusCalc extends BaseObject {
 
                 unset($userId, $tempBonusData);
             }
+//            echo json_encode($insertDataBonus);
+//            exit();
             CalcBonus::batchInsert($insertDataBonus);
 
             unset($insertDataBonus, $allData);
@@ -3224,7 +3274,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
@@ -3232,6 +3282,13 @@ class BonusCalc extends BaseObject {
         $buleStartOriBonus = 0;
         $buleStartManageTax = 0;
         $exchangePoints = 0; // 蓝星奖管理奖. 产生的兑换积分
+
+        $realBonusBsMnt = 0; // 蓝星管理奖实发
+        $blueStartOriBonusMnt = 0;
+
+        $realBonusBsAbbr = 0; // 蓝星业绩奖实发
+        $blueStartOriBonusAbbr = 0;
+
         if( $this->_isCalcMonth ) {
             // 查看是否复消300
             // $monthPerfData = CalcCache::nowMonthPerf($userId, $this->_periodNum);
@@ -3270,7 +3327,7 @@ 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_YJKC,ORI_BONUS_BU_YJSF,ORI_BONUS_BU_GL,ORI_BONUS_BU_GLKC,ORI_BONUS_BU_GLSF')
                 ->limit(1)
                 ->orderBy('CREATED_AT DESC')
                 ->asArray()
@@ -3279,6 +3336,13 @@ class BonusCalc extends BaseObject {
                 $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; // 管理费
+
+                $realBonusBsMnt = $userBS['ORI_BONUS_BU_GLSF'] ?? 0;
+                $blueStartOriBonusMnt = $userBS['ORI_BONUS_BU_GL'] ?? 0;
+                $realBonusBsAbbr = $userBS['ORI_BONUS_BU_YJSF'] ?? 0;
+                $blueStartOriBonusAbbr = $userBS['ORI_BONUS_BU_YJ'] ?? 0;
+
+
                 $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', 
@@ -3403,6 +3467,12 @@ class BonusCalc extends BaseObject {
             'ORI_BONUS_VIP' => $bonus['ORI_BONUS_VIP'],
             'ORI_BONUS_STANDARD' => $standardBonus,
 
+
+            'ORI_BONUS_BU_GL' => $bonus['BONUS_BU_GL'],
+            'ORI_BONUS_BU_GLSF' => $bonus['BONUS_BU_GL'],
+            'ORI_BONUS_BU_YJ' => $bonus['BONUS_BU_YJ'],
+            'ORI_BONUS_BU_YJSF' => $bonus['BONUS_BU_YJ'],
+
             //以下没有用
             'BONUS_FW' => 0,
             'BONUS_FX' => $bonus['BONUS_FX'],

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

@@ -1430,6 +1430,12 @@ class CalcCache {
             'BONUS_YC' => 0,
             'BONUS_VIP' => 0,
             'BONUS_BS' => 0,
+
+            'BONUS_BU_GL'=>0,
+            'BONUS_BU_YL'=>0,
+            'ORI_BONUS_BU_GL'=>0,
+            'ORI_BONUS_BU_YJ'=>0,
+
             'BONUS_YC_EXTRA' => 0,
             'ORI_BONUS_BD' => 0,
             'ORI_BONUS_BS' => 0,
@@ -1468,6 +1474,7 @@ class CalcCache {
             'DEDUCT_ZR' => 0,
             'BONUS_FL' => 0,
         ];
+
         // 从 redis 中获取当前的结果
         $cacheValue = \Yii::$app->redis->hget($cacheKey, $userId);
         if ($cacheValue) {

+ 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'=>'蓝星业绩奖实发'
+
         ];
     }
 

+ 4 - 0
frontendEle/config/index.js:Zone.Identifier

@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://teams.microsoft.com/_
+HostUrl=https://ek2021-my.sharepoint.com/personal/frank_ek2021_onmicrosoft_com/_layouts/15/download.aspx?UniqueId=b3ea5293-b73c-4849-84db-78d78e6e80a5&Translate=false&tempauth=eyJ0eXAiOiJKV1QiLCJhbGciOiJub25lIn0.eyJhdWQiOiIwMDAwMDAwMy0wMDAwLTBmZjEtY2UwMC0wMDAwMDAwMDAwMDAvZWsyMDIxLW15LnNoYXJlcG9pbnQuY29tQDEyYWQwYzUyLTY1NTQtNDIzNy05NWU4LTFkYzdlYjAzZjAxYSIsImlzcyI6IjAwMDAwMDAzLTAwMDAtMGZmMS1jZTAwLTAwMDAwMDAwMDAwMCIsIm5iZiI6IjE2NDU2NjM3MjgiLCJleHAiOiIxNjQ1NjY0MDI4IiwiZW5kcG9pbnR1cmwiOiI4aTJNR2ZaQnlnaFpoTURtNExyNXpCTlV2dDR6eGZCMFUrc3pETVJhYXE4PSIsImVuZHBvaW50dXJsTGVuZ3RoIjoiMTU4IiwiaXNsb29wYmFjayI6IlRydWUiLCJjaWQiOiJNRGhpTmpJellUQXRZekJoWmkwd01EQXdMV1UzWlRVdFkyUm1PR1ZqTWpNNVpHWXciLCJ2ZXIiOiJoYXNoZWRwcm9vZnRva2VuIiwic2l0ZWlkIjoiTkRjek4yRTJZak10TnpVd09TMDBaall5TFRrM05UTXROekZsTWpnMFkySXdZVFZoIiwiYXBwX2Rpc3BsYXluYW1lIjoiTWljcm9zb2Z0IFRlYW1zIiwiYXBwaWQiOiIxZmVjOGU3OC1iY2U0LTRhYWYtYWIxYi01NDUxY2MzODcyNjQiLCJ0aWQiOiIxMmFkMGM1Mi02NTU0LTQyMzctOTVlOC0xZGM3ZWIwM2YwMWEiLCJ1cG4iOiJ5b3JrQGVrMjAyMS5vbm1pY3Jvc29mdC5jb20iLCJwdWlkIjoiMTAwMzIwMDFEOEJDRjMzRCIsImNhY2hla2V5IjoiMGguZnxtZW1iZXJzaGlwfDEwMDMyMDAxZDhiY2YzM2RAbGl2ZS5jb20iLCJzY3AiOiJteWZpbGVzLndyaXRlIGFsbHNpdGVzLmZ1bGxjb250cm9sIGFsbHNpdGVzLm1hbmFnZSBhbGxwcm9maWxlcy53cml0ZSIsInR0IjoiMiIsInVzZVBlcnNpc3RlbnRDb29raWUiOm51bGwsImlwYWRkciI6IjQyLjgwLjIxNy4xNyJ9.aW5CY3VEYS9abk5WZ0dnMDJiMTNlTzQ0UW9nSU9rZnpLTEdLSm14NUtRWT0&ApiVersion=2.0