|
|
@@ -360,7 +360,8 @@ class BonusCalc extends BaseObject {
|
|
|
echo('结算全部完成,共耗时:' . round($t35 - $t34, 3) . ',内存使用:' . (round(memory_get_usage() / 1024 / 1024, 3)) . 'MB' . PHP_EOL . PHP_EOL);
|
|
|
} catch (\Exception $e) {
|
|
|
$this->errorCalcTask();
|
|
|
- $this->addError('calc', sprintf('File【%s】, Line【%s】, Msg【%s】', $e->getFile(), $e->getLine(), $e->getMessage()));
|
|
|
+ LoggerTool::error('calcBonus' . sprintf('File【%s】, Line【%s】, Msg【%s】', $e->getFile(), $e->getLine(), $e->getMessage()));
|
|
|
+ $this->addError('calcBonus', sprintf('%s',$e->getMessage()));
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
@@ -1266,6 +1267,7 @@ class BonusCalc extends BaseObject {
|
|
|
'LAST_DEC_LV' => $userBaseInfo['DEC_LV'],
|
|
|
'LAST_EMP_LV' => $userBaseInfo['EMP_LV'],
|
|
|
'LAST_CROWN_LV' => $lastCrownLv,
|
|
|
+ 'CROWN_LV' => $userBaseInfo['CROWN_LV'],
|
|
|
'LAST_STATUS' => $userBaseInfo['STATUS'],
|
|
|
'AMOUNT' => $deductData['surplus'],
|
|
|
'ORI_BONUS' => $oriBonus,
|
|
|
@@ -3670,13 +3672,13 @@ class BonusCalc extends BaseObject {
|
|
|
':PERIOD_NUM' => $this->_periodNum
|
|
|
]
|
|
|
);
|
|
|
- // 奖金流水
|
|
|
- FlowBonus::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
- [
|
|
|
- ':USER_ID' => $data['USER_ID'],
|
|
|
- ':PERIOD_NUM' => $this->_periodNum
|
|
|
- ]
|
|
|
- );
|
|
|
+// // 奖金流水
|
|
|
+// FlowBonus::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+// [
|
|
|
+// ':USER_ID' => $data['USER_ID'],
|
|
|
+// ':PERIOD_NUM' => $this->_periodNum
|
|
|
+// ]
|
|
|
+// );
|
|
|
// // 共享奖流水
|
|
|
// CalcBonusGX::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
// [
|
|
|
@@ -3747,7 +3749,7 @@ class BonusCalc extends BaseObject {
|
|
|
$tourismBonus = CalcCache::tourismBonus($userId, $this->_periodNum);
|
|
|
$garageBonus = CalcCache::garageBonus($userId, $this->_periodNum);
|
|
|
$villaBonus = CalcCache::villaBonus($userId, $this->_periodNum);
|
|
|
- $empLv = $baseInfo['EMP_LV'];
|
|
|
+ $nowDirectorLv = $baseInfo['EMP_LV'];
|
|
|
// if($this->_isCalcMonth){
|
|
|
// $empLv = $this->nowMonthPerfData($userId)['LAST_EMP_LV'];
|
|
|
// }
|
|
|
@@ -3793,6 +3795,7 @@ class BonusCalc extends BaseObject {
|
|
|
if( $this->_isCalcMonth ) {
|
|
|
// 个人月消费PV大于配置值,才会计算发放蓝星奖
|
|
|
$fxPvStatus = $this->_isMonthPerfLimit($userId);
|
|
|
+ $nowDirectorLv = EmployLevel::getDefaultLevelId();
|
|
|
// BONUS_REAL 字段是发到用户的真实奖金
|
|
|
if ( $fxPvStatus ) {
|
|
|
// 管理奖改成了蓝星奖,但是对于用户来说依旧叫管理奖.字段改成bs.
|
|
|
@@ -3840,7 +3843,8 @@ class BonusCalc extends BaseObject {
|
|
|
->one();
|
|
|
$realBonusBs = $blueStartAmount; // 蓝星奖直接取数据库中算好的值PRODUCT_POINT
|
|
|
$exchangePoints = isset($userBS['PRODUCT_POINT']) && !empty($userBS['PRODUCT_POINT']) ? $userBS['PRODUCT_POINT'] : 0; // 兑换积分
|
|
|
-
|
|
|
+ // 会员最新$nowDirectorLv
|
|
|
+ $nowDirectorLv = $userBS['LEVEL_ID'] ?? $nowDirectorLv;
|
|
|
// 蓝星奖总奖金:管理奖+业绩奖
|
|
|
// $blueStartOriBonus = $blueStartOriBonusMnt + $blueStartOriBonusAbbr;
|
|
|
// $bonus['BONUS_TOTAL'] = $bonus['BONUS_TOTAL'] + $blueStartOriBonus; // 管理奖在存储过程计算,这里单独加上管理奖(即蓝星奖)
|
|
|
@@ -3853,13 +3857,21 @@ class BonusCalc extends BaseObject {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 查询会员本期是否有团队奖
|
|
|
+ $userBonusQY = CalcBonusQY::findOneAsArray('PERIOD_NUM=:PERIOD_NUM AND USER_ID=:USER_ID',
|
|
|
+ [
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum,
|
|
|
+ ':USER_ID' => $userId
|
|
|
+ ]);
|
|
|
+ // 会员本期最新CrownLV
|
|
|
+ $nowCrownLv = $userBonusQY['LAST_CROWN_LV'] ?? StarCrownLevel::getDefaultLevelId();
|
|
|
$result = [
|
|
|
'USER_ID' => $userId,
|
|
|
'LAST_USER_NAME' => $baseInfo['USER_NAME'],
|
|
|
'LAST_REAL_NAME' => $baseInfo['REAL_NAME'],
|
|
|
'LAST_DEC_LV' => $baseInfo['DEC_LV'],
|
|
|
- 'LAST_EMP_LV' => $empLv,
|
|
|
- 'LAST_CROWN_LV' => $starCrownLv ?? StarCrownLevel::getDefaultLevelId(),
|
|
|
+ 'LAST_EMP_LV' => $nowDirectorLv,
|
|
|
+ 'LAST_CROWN_LV' => $nowCrownLv,
|
|
|
'LAST_STATUS' => $baseInfo['STATUS'],
|
|
|
'LAST_MOBILE' => $baseInfo['MOBILE'],
|
|
|
'LAST_PERIOD_AT' => $baseInfo['PERIOD_NUM'],
|