|
|
@@ -1548,12 +1548,12 @@ class BonusCalc extends BaseObject {
|
|
|
|
|
|
|
|
|
// //扣除相应的复消积分和管理费
|
|
|
- // $deductData = $this->deduct($bonusUserId, $bonus);
|
|
|
- // CalcCache::bonus($bonusUserId, $this->_periodNum, 'BONUS_GX', $bonus, $deductData,'',true);
|
|
|
+ $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);
|
|
|
+ //CalcCache::bonus($bonusUserId, $this->_periodNum, 'BONUS_GX', $bonus);
|
|
|
CalcCache::addHasMonthBonusUsers($bonusUserId, $this->_periodNum);
|
|
|
|
|
|
//共享奖流水
|
|
|
@@ -1567,10 +1567,10 @@ class BonusCalc extends BaseObject {
|
|
|
'LAST_FROM_DEC_LV' => $userBaseInfo['DEC_LV'],
|
|
|
'LAST_FROM_EMP_LV' => $userEmpLevel,
|
|
|
'LAST_FROM_STATUS' => $userBaseInfo['STATUS'],
|
|
|
- 'AMOUNT' => 0, // $deductData['surplus'], // 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
|
|
|
+ 'AMOUNT' => $deductData['surplus'], // 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
|
|
|
'ORI_BONUS' => $bonus,
|
|
|
- 'RECONSUME_POINTS' => 0, // $deductData['reConsumePoints'],// 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
|
|
|
- 'MANAGE_TAX' => 0, //$deductData['manageTax'], // 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
|
|
|
+ 'RECONSUME_POINTS' => $deductData['reConsumePoints'],// 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
|
|
|
+ 'MANAGE_TAX' => $deductData['manageTax'], // 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分
|
|
|
'PERIOD_NUM' => $this->_periodNum,
|
|
|
'CALC_YEAR' => $this->_calcYear,
|
|
|
'CALC_MONTH' => $this->_calcYearMonth,
|
|
|
@@ -3287,7 +3287,7 @@ class BonusCalc extends BaseObject {
|
|
|
// $buleStartManageTax = isset($userBS['MANAGE_TAX']) && !empty($userBS['MANAGE_TAX']) ? $userBS['MANAGE_TAX'] : 0; // 管理费
|
|
|
// 20220524 共享奖金,前三期只展示原奖金,最后一期月节点,才展示实发还有复消积分.获取总gx原奖金,一起扣除管理费和复消积分
|
|
|
$monthSumData = CalcBonus::findUseSlaves()
|
|
|
- ->select('SUM(ORI_BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')
|
|
|
+ ->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,
|
|
|
@@ -3296,36 +3296,39 @@ class BonusCalc extends BaseObject {
|
|
|
)
|
|
|
->asArray()
|
|
|
->one();
|
|
|
+ // 因为非月节点周期,未发放复消积分.所以,需要结算月满足最低消费的时候,一起发放
|
|
|
+ $gxPointMonth = CalcBonusGX::findUseSlaves()
|
|
|
+ ->select('SUM(RECONSUME_POINTS) AS FLOW_GX_POINT')
|
|
|
+ ->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;
|
|
|
$bonusGlSum = $monthSumData['BONUS_GL_SUM'] ?? 0;
|
|
|
- $realBonusGx += $bonusGxSum + $bonus['ORI_BONUS_GX'];
|
|
|
- if ($realBonusGx > 0) {
|
|
|
- $gxDeduct = $this->deduct($userId, $realBonusGx);
|
|
|
- // 月共享奖金实发,月共享奖金复消积分,月共享奖金管理费
|
|
|
- $gxRealMonth = $gxDeduct['surplus'];
|
|
|
- $gxManageMonth = $gxDeduct['manageTax'];
|
|
|
- $gxPointMonth = $gxDeduct['reConsumePoints'];
|
|
|
- } else {
|
|
|
- $gxRealMonth = $gxManageMonth = $gxPointMonth = 0;
|
|
|
- }
|
|
|
- // 实发共享奖,还需要再扣除管理费和复消积分
|
|
|
- $bonus['BONUS_GX'] = $gxRealMonth;
|
|
|
- $realBonusGx = $gxRealMonth;
|
|
|
- $bonus['RECONSUME_POINTS'] = $bonus['RECONSUME_POINTS']+$gxPointMonth;
|
|
|
+ $bonusPoint = $gxPointMonth['FLOW_GX_POINT'] ?? 0;
|
|
|
+ $bonus['RECONSUME_POINTS'] = $bonus['RECONSUME_POINTS'] + $bonusPoint;
|
|
|
+ $realBonusGx += $bonusGxSum + $bonus['BONUS_GX'];
|
|
|
$realBonusGl += $bonusGlSum + $bonus['BONUS_GL'];
|
|
|
- $bonus['MANAGE_TAX'] = $bonus['MANAGE_TAX'] + $gxManageMonth;
|
|
|
$realBonusBs = $blueStartAmount; // 蓝星奖直接取数据库中算好的值PRODUCT_POINT
|
|
|
- $bonusReal += $gxRealMonth + $realBonusBs + $realBonusGl;
|
|
|
+ $bonusReal += $realBonusGx + $realBonusBs + $realBonusGl;
|
|
|
$exchangePoints = isset($userBS['PRODUCT_POINT']) && !empty($userBS['PRODUCT_POINT']) ? $userBS['PRODUCT_POINT'] : 0; // 兑换积分
|
|
|
unset($monthSumData, $bonusGxSum, $bonusGlSum);
|
|
|
} 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;
|
|
|
+
|
|
|
+ // 如果未满足,则复消积分,应该不能发放
|
|
|
+ $bonus['RECONSUME_POINTS'] = $bonus['RECONSUME_POINTS']- $bonus['GX_RECONSUME_POINTS'];
|
|
|
}
|
|
|
} else {
|
|
|
- // 非月节点,共享奖实发覆盖成0. 只有月节点期的时候,才sum一下总共享奖原奖金,再扣管理费和复消积分
|
|
|
- $bonus['BONUS_GX'] = 0;
|
|
|
+ // 非月节点,共享奖金不发放复消积分和奖金
|
|
|
+ $bonus['RECONSUME_POINTS'] = $bonus['RECONSUME_POINTS']- $bonus['GX_RECONSUME_POINTS'];
|
|
|
}
|
|
|
// if( $this->_isCalcMonth ) {
|
|
|
// // 将查看是否复消300的逻辑,改成月结时判断当前月有一周活跃则本月活跃
|