|
|
@@ -247,6 +247,8 @@ class Balance {
|
|
|
$periodNum = $params['PERIOD_NUM'];
|
|
|
}
|
|
|
$calcYearMonth = $period->getYearMonth($periodNum);
|
|
|
+ // 汇率
|
|
|
+ $exchangeRate = floatval(Cache::getSystemConfig()['exchangeRate']['VALUE'] ?? 0);
|
|
|
// redis加锁(防止并发余额数值不准确出错)
|
|
|
switch ($type) {
|
|
|
case 'BONUS':
|
|
|
@@ -280,131 +282,130 @@ class Balance {
|
|
|
// 改变发奖
|
|
|
$paramData = [];
|
|
|
$oneUserBonusModel = UserBonus::findOne(['USER_ID' => $userId]);
|
|
|
+ // 是否奖金发放操作
|
|
|
+ $issueBonus = $params['BONUS_ISSUE'] ?? false;
|
|
|
if ($oneUserBonusModel) {
|
|
|
- $paramData[$type] = new Expression($type.' + '.$amount);
|
|
|
+ $paramData[$type] = new Expression($type.' + ' . ($issueBonus ? $amount * $exchangeRate : $amount));
|
|
|
|
|
|
- $oneUserBonusModel->$type += $amount;
|
|
|
+ $oneUserBonusModel->$type += ($issueBonus ? $amount * $exchangeRate : $amount);
|
|
|
if ($oneUserBonusModel->$type < 0) {
|
|
|
RedisLock::instance()->unlock($lockKey);
|
|
|
throw new Exception('金额不足');
|
|
|
}
|
|
|
|
|
|
if (isset($params['QY'])) {
|
|
|
- $paramData['QY_TOTAL'] = new Expression('QY_TOTAL + '.$params['QY']);
|
|
|
+ $paramData['QY_TOTAL'] = new Expression('QY_TOTAL + ' . ($issueBonus ? $params['QY'] * $exchangeRate : $params['QY']));
|
|
|
//$oneUserBonusModel->QY_TOTAL += $params['QY'];
|
|
|
}
|
|
|
if (isset($params['FW'])) {
|
|
|
- $paramData['FW_TOTAL'] = new Expression('FW_TOTAL + '.$params['FW']);
|
|
|
+ $paramData['FW_TOTAL'] = new Expression('FW_TOTAL + ' . ($issueBonus ? $params['FW'] * $exchangeRate : $params['FW']));
|
|
|
}
|
|
|
if (isset($params['YC'])) {
|
|
|
- $paramData['YC_TOTAL'] = new Expression('YC_TOTAL + '.$params['YC']);
|
|
|
+ $paramData['YC_TOTAL'] = new Expression('YC_TOTAL + ' . ($issueBonus ? $params['YC'] * $exchangeRate : $params['YC']));
|
|
|
//$oneUserBonusModel->YC_TOTAL += $params['YC'];
|
|
|
}
|
|
|
if (isset($params['VIP'])) {
|
|
|
- $paramData['VIP_TOTAL'] = new Expression('VIP_TOTAL + '.$params['VIP']);
|
|
|
+ $paramData['VIP_TOTAL'] = new Expression('VIP_TOTAL + ' . ($issueBonus ? $params['VIP'] * $exchangeRate : $params['VIP']));
|
|
|
}
|
|
|
if (isset($params['BD'])) {
|
|
|
- $paramData['BD_TOTAL'] = new Expression('BD_TOTAL + '.$params['BD']);
|
|
|
+ $paramData['BD_TOTAL'] = new Expression('BD_TOTAL + ' . ($issueBonus ? $params['BD'] * $exchangeRate : $params['BD']));
|
|
|
//$oneUserBonusModel->BD_TOTAL += $params['BD'];
|
|
|
}
|
|
|
if (isset($params['TG'])) {
|
|
|
- $paramData['TG_TOTAL'] = new Expression('TG_TOTAL + '.$params['TG']);
|
|
|
+ $paramData['TG_TOTAL'] = new Expression('TG_TOTAL + ' . ($issueBonus ? $params['TG'] * $exchangeRate : $params['TG']));
|
|
|
//$oneUserBonusModel->TG_TOTAL += $params['TG'];
|
|
|
}
|
|
|
if (isset($params['YJ'])) {
|
|
|
- $paramData['YJ_TOTAL'] = new Expression('YJ_TOTAL + '.$params['YJ']);
|
|
|
+ $paramData['YJ_TOTAL'] = new Expression('YJ_TOTAL + ' . ($issueBonus ? $params['YJ'] * $exchangeRate : $params['YJ']));
|
|
|
//$oneUserBonusModel->YJ_TOTAL += $params['YJ'];
|
|
|
}
|
|
|
if (isset($params['GX'])) {
|
|
|
- $paramData['GX_TOTAL'] = new Expression('GX_TOTAL + '.$params['GX']);
|
|
|
+ $paramData['GX_TOTAL'] = new Expression('GX_TOTAL + ' . ($issueBonus ? $params['GX'] * $exchangeRate : $params['GX']));
|
|
|
//$oneUserBonusModel->GX_TOTAL += $params['GX'];
|
|
|
}
|
|
|
if (isset($params['GL'])) {
|
|
|
- $paramData['GL_TOTAL'] = new Expression('GL_TOTAL + '.$params['GL']);
|
|
|
+ $paramData['GL_TOTAL'] = new Expression('GL_TOTAL + ' . ($issueBonus ? $params['GL'] * $exchangeRate : $params['GL']));
|
|
|
//$oneUserBonusModel->GL_TOTAL += $params['GL'];
|
|
|
}
|
|
|
if (isset($params['BS'])) {
|
|
|
- $paramData['BS_TOTAL'] = new Expression('BS_TOTAL + '.$params['BS']);
|
|
|
+ $paramData['BS_TOTAL'] = new Expression('BS_TOTAL + ' . ($issueBonus ? $params['BS'] * $exchangeRate : $params['BS']));
|
|
|
}
|
|
|
if (isset($params['BS_MNT'])) {
|
|
|
- $paramData['BS_MNT_TOTAL'] = new Expression('BS_MNT_TOTAL + '.$params['BS_MNT']);
|
|
|
+ $paramData['BS_MNT_TOTAL'] = new Expression('BS_MNT_TOTAL + ' . ($issueBonus ? $params['BS_MNT'] * $exchangeRate : $params['BS_MNT']));
|
|
|
}
|
|
|
if (isset($params['BS_ABBR'])) {
|
|
|
- $paramData['BS_ABBR_TOTAL'] = new Expression('BS_ABBR_TOTAL + '.$params['BS_ABBR']);
|
|
|
+ $paramData['BS_ABBR_TOTAL'] = new Expression('BS_ABBR_TOTAL + ' . ($issueBonus ? $params['BS_ABBR'] * $exchangeRate : $params['BS_ABBR']));
|
|
|
}
|
|
|
if (isset($params['TRAVEL_POINTS'])) {
|
|
|
- $paramData['TRAVEL_POINTS_TOTAL'] = new Expression('TRAVEL_POINTS_TOTAL + ' . $params['TRAVEL_POINTS']);
|
|
|
+ $paramData['TRAVEL_POINTS_TOTAL'] = new Expression('TRAVEL_POINTS_TOTAL + ' . ($issueBonus ? $params['TRAVEL_POINTS'] * $exchangeRate : $params['TRAVEL_POINTS']));
|
|
|
}
|
|
|
if (isset($params['CAR_POINTS'])) {
|
|
|
- $paramData['CAR_POINTS_TOTAL'] = new Expression('CAR_POINTS_TOTAL + '.$params['CAR_POINTS']);
|
|
|
+ $paramData['CAR_POINTS_TOTAL'] = new Expression('CAR_POINTS_TOTAL + ' . ($issueBonus ? $params['CAR_POINTS'] * $exchangeRate : $params['CAR_POINTS']));
|
|
|
}
|
|
|
if (isset($params['HOUSE_POINTS'])) {
|
|
|
- $paramData['HOUSE_POINTS_TOTAL'] = new Expression('HOUSE_POINTS_TOTAL + '.$params['HOUSE_POINTS']);
|
|
|
+ $paramData['HOUSE_POINTS_TOTAL'] = new Expression('HOUSE_POINTS_TOTAL + ' . ($issueBonus ? $params['HOUSE_POINTS'] * $exchangeRate : $params['HOUSE_POINTS']));
|
|
|
}
|
|
|
if (isset($params['RECONSUME_POINTS_TOTAL'])) {
|
|
|
- $paramData['RECONSUME_POINTS_TOTAL'] = new Expression('RECONSUME_POINTS_TOTAL + '.$params['RECONSUME_POINTS_TOTAL']);
|
|
|
+ $paramData['RECONSUME_POINTS_TOTAL'] = new Expression('RECONSUME_POINTS_TOTAL + ' . ($issueBonus ? $params['RECONSUME_POINTS_TOTAL'] * $exchangeRate : $params['RECONSUME_POINTS_TOTAL']));
|
|
|
//$oneUserBonusModel->RECONSUME_POINTS_TOTAL += $params['RECONSUME_POINTS_TOTAL'];
|
|
|
}
|
|
|
if (isset($params['EXCHANGE_POINTS_TOTAL'])) {
|
|
|
- $paramData['EXCHANGE_POINTS_TOTAL'] = new Expression('EXCHANGE_POINTS_TOTAL + '.$params['EXCHANGE_POINTS_TOTAL']);
|
|
|
+ $paramData['EXCHANGE_POINTS_TOTAL'] = new Expression('EXCHANGE_POINTS_TOTAL + ' . ($issueBonus ? $params['EXCHANGE_POINTS_TOTAL'] * $exchangeRate : $params['EXCHANGE_POINTS_TOTAL']));
|
|
|
//$oneUserBonusModel->RECONSUME_POINTS_TOTAL += $params['RECONSUME_POINTS_TOTAL'];
|
|
|
}
|
|
|
if (isset($params['MANAGE_TAX'])) {
|
|
|
- $paramData['MANAGE_TAX'] = new Expression('MANAGE_TAX + '.$params['MANAGE_TAX']);
|
|
|
+ $paramData['MANAGE_TAX'] = new Expression('MANAGE_TAX + ' . ($issueBonus ? $params['MANAGE_TAX'] * $exchangeRate : $params['MANAGE_TAX']));
|
|
|
//$oneUserBonusModel->MANAGE_TAX += $params['MANAGE_TAX'];
|
|
|
}
|
|
|
|
|
|
if (isset($params['ORI_QY'])) {
|
|
|
- $paramData['ORI_QY_TOTAL'] = new Expression('ORI_QY_TOTAL + '.$params['ORI_QY']);
|
|
|
+ $paramData['ORI_QY_TOTAL'] = new Expression('ORI_QY_TOTAL + ' . ($issueBonus ? $params['ORI_QY'] * $exchangeRate : $params['ORI_QY']));
|
|
|
//$oneUserBonusModel->ORI_QY_TOTAL += $params['ORI_QY'];
|
|
|
}
|
|
|
// if (isset($params['ORI_FW'])) {
|
|
|
// $paramData['ORI_FW_TOTAL'] = new Expression('ORI_FW_TOTAL + '.$params['ORI_FW']);
|
|
|
// }
|
|
|
if (isset($params['ORI_YC'])) {
|
|
|
- $paramData['ORI_YC_TOTAL'] = new Expression('ORI_YC_TOTAL + '.$params['ORI_YC']);
|
|
|
+ $paramData['ORI_YC_TOTAL'] = new Expression('ORI_YC_TOTAL + ' . ($issueBonus ? $params['ORI_YC'] * $exchangeRate : $params['ORI_YC']));
|
|
|
//$oneUserBonusModel->ORI_YC_TOTAL += $params['ORI_YC'];
|
|
|
}
|
|
|
if (isset($params['ORI_VIP'])) {
|
|
|
- $paramData['ORI_VIP_TOTAL'] = new Expression('ORI_VIP_TOTAL + '.$params['ORI_VIP']);
|
|
|
- }
|
|
|
- if (isset($params['ORI_VIP'])) {
|
|
|
- $paramData['ORI_VIP_TOTAL'] = new Expression('ORI_VIP_TOTAL + '.$params['ORI_VIP']);
|
|
|
+ $paramData['ORI_VIP_TOTAL'] = new Expression('ORI_VIP_TOTAL + ' . ($issueBonus ? $params['ORI_VIP'] * $exchangeRate : $params['ORI_VIP']));
|
|
|
}
|
|
|
if (isset($params['ORI_STANDARD'])) {
|
|
|
- $paramData['ORI_STANDARD_TOTAL'] = new Expression('ORI_STANDARD_TOTAL + '.$params['ORI_STANDARD']);
|
|
|
+ $paramData['ORI_STANDARD_TOTAL'] = new Expression('ORI_STANDARD_TOTAL + ' . ($issueBonus ? $params['ORI_STANDARD'] * $exchangeRate : $params['ORI_STANDARD']));
|
|
|
}
|
|
|
if (isset($params['ORI_TG'])) {
|
|
|
- $paramData['ORI_TG_TOTAL'] = new Expression('ORI_TG_TOTAL + '.$params['ORI_TG']);
|
|
|
+ $paramData['ORI_TG_TOTAL'] = new Expression('ORI_TG_TOTAL + ' . ($issueBonus ? $params['ORI_TG'] * $exchangeRate : $params['ORI_TG']));
|
|
|
//$oneUserBonusModel->ORI_TG_TOTAL += $params['ORI_TG'];
|
|
|
}
|
|
|
if (isset($params['ORI_YJ'])) {
|
|
|
- $paramData['ORI_YJ_TOTAL'] = new Expression('ORI_YJ_TOTAL + '.$params['ORI_YJ']);
|
|
|
+ $paramData['ORI_YJ_TOTAL'] = new Expression('ORI_YJ_TOTAL + ' . ($issueBonus ? $params['ORI_YJ'] * $exchangeRate : $params['ORI_YJ']));
|
|
|
//$oneUserBonusModel->ORI_YJ_TOTAL += $params['ORI_YJ'];
|
|
|
}
|
|
|
if (isset($params['ORI_GX'])) {
|
|
|
- $paramData['ORI_GX_TOTAL'] = new Expression('ORI_GX_TOTAL + '.$params['ORI_GX']);
|
|
|
+ $paramData['ORI_GX_TOTAL'] = new Expression('ORI_GX_TOTAL + ' . ($issueBonus ? $params['ORI_GX'] * $exchangeRate : $params['ORI_GX']));
|
|
|
//$oneUserBonusModel->ORI_GX_TOTAL += $params['ORI_GX'];
|
|
|
}
|
|
|
if (isset($params['ORI_GL'])) {
|
|
|
- $paramData['ORI_GL_TOTAL'] = new Expression('ORI_GL_TOTAL + '.$params['ORI_GL']);
|
|
|
+ $paramData['ORI_GL_TOTAL'] = new Expression('ORI_GL_TOTAL + ' . ($issueBonus ? $params['ORI_GL'] * $exchangeRate : $params['ORI_GL']));
|
|
|
//$oneUserBonusModel->ORI_GL_TOTAL += $params['ORI_GL'];
|
|
|
}
|
|
|
if (isset($params['ORI_BS'])) {
|
|
|
- $paramData['ORI_BS_TOTAL'] = new Expression('ORI_BS_TOTAL + '.$params['ORI_BS']);
|
|
|
+ $paramData['ORI_BS_TOTAL'] = new Expression('ORI_BS_TOTAL + ' . ($issueBonus ? $params['ORI_BS'] * $exchangeRate : $params['ORI_BS']));
|
|
|
//$oneUserBonusModel->ORI_GL_TOTAL += $params['ORI_GL'];
|
|
|
}
|
|
|
if (isset($params['ORI_BS_MNT'])) {
|
|
|
- $paramData['BS_MNT_ORI_TOTAL'] = new Expression('BS_MNT_ORI_TOTAL + '.$params['ORI_BS_MNT']);
|
|
|
+ $paramData['BS_MNT_ORI_TOTAL'] = new Expression('BS_MNT_ORI_TOTAL + ' . ($issueBonus ? $params['ORI_BS_MNT'] * $exchangeRate : $params['ORI_BS_MNT']));
|
|
|
//$oneUserBonusModel->ORI_GL_TOTAL += $params['ORI_GL'];
|
|
|
}
|
|
|
if (isset($params['ORI_BS_ABBR'])) {
|
|
|
- $paramData['BS_ABBR_ORI_TOTAL'] = new Expression('BS_ABBR_ORI_TOTAL + '.$params['ORI_BS_ABBR']);
|
|
|
+ $paramData['BS_ABBR_ORI_TOTAL'] = new Expression('BS_ABBR_ORI_TOTAL + ' . ($issueBonus ? $params['ORI_BS_ABBR'] * $exchangeRate : $params['ORI_BS_ABBR']));
|
|
|
//$oneUserBonusModel->ORI_GL_TOTAL += $params['ORI_GL'];
|
|
|
}
|
|
|
|
|
|
if (isset($params['BONUS_TOTAL'])) {
|
|
|
- $paramData['BONUS_TOTAL'] = new Expression('BONUS_TOTAL + '.$params['BONUS_TOTAL']);
|
|
|
+ $paramData['BONUS_TOTAL'] = new Expression('BONUS_TOTAL + ' . ($issueBonus ? $params['BONUS_TOTAL'] * $exchangeRate : $params['BONUS_TOTAL']));
|
|
|
//$oneUserBonusModel->BONUS_TOTAL += $params['BONUS_TOTAL'];
|
|
|
}
|
|
|
UserBonus::updateAll($paramData, 'USER_ID=:USER_ID', [':USER_ID' => $userId]);
|
|
|
@@ -417,74 +418,74 @@ class Balance {
|
|
|
];
|
|
|
if (isset($params['QY'])) {
|
|
|
// $paramData['QY_TOTAL'] = new Expression('QY_TOTAL + '.$params['QY']);
|
|
|
- $paramData['QY_TOTAL'] = $params['QY'];
|
|
|
+ $paramData['QY_TOTAL'] = ($issueBonus ? $params['QY'] * $exchangeRate : $params['QY']);
|
|
|
}
|
|
|
if (isset($params['FW'])) {
|
|
|
// $paramData['FW_TOTAL'] = new Expression('FW_TOTAL + '.$params['FW']);
|
|
|
- $paramData['FW_TOTAL'] = $params['FW'];
|
|
|
+ $paramData['FW_TOTAL'] = ($issueBonus ? $params['FW'] * $exchangeRate : $params['FW']);
|
|
|
}
|
|
|
if (isset($params['YC'])) {
|
|
|
// $paramData['YC_TOTAL'] = new Expression('YC_TOTAL + '.$params['YC']);
|
|
|
- $paramData['YC_TOTAL'] = $params['YC'];
|
|
|
+ $paramData['YC_TOTAL'] = ($issueBonus ? $params['YC'] * $exchangeRate : $params['YC']);
|
|
|
}
|
|
|
if (isset($params['VIP'])) {
|
|
|
// $paramData['VIP_TOTAL'] = new Expression('VIP_TOTAL + '.$params['VIP']);
|
|
|
- $paramData['VIP_TOTAL'] = $params['VIP'];
|
|
|
+ $paramData['VIP_TOTAL'] = ($issueBonus ? $params['VIP'] * $exchangeRate : $params['VIP']);
|
|
|
}
|
|
|
|
|
|
if (isset($params['BD'])) {
|
|
|
// $paramData['BD_TOTAL'] = new Expression('BD_TOTAL + '.$params['BD']);
|
|
|
- $paramData['BD_TOTAL'] = $params['BD'];
|
|
|
+ $paramData['BD_TOTAL'] = ($issueBonus ? $params['BD'] * $exchangeRate : $params['BD']);
|
|
|
//$oneUserBonusModel->BD_TOTAL += $params['BD'];
|
|
|
}
|
|
|
if (isset($params['TG'])) {
|
|
|
// $paramData['TG_TOTAL'] = new Expression('TG_TOTAL + '.$params['TG']);
|
|
|
- $paramData['TG_TOTAL'] = $params['TG'];
|
|
|
+ $paramData['TG_TOTAL'] = ($issueBonus ? $params['TG'] * $exchangeRate : $params['TG']);
|
|
|
}
|
|
|
if (isset($params['YJ'])) {
|
|
|
// $paramData['YJ_TOTAL'] = new Expression('YJ_TOTAL + '.$params['YJ']);
|
|
|
- $paramData['YJ_TOTAL'] = $params['YJ'];
|
|
|
+ $paramData['YJ_TOTAL'] = ($issueBonus ? $params['YJ'] * $exchangeRate : $params['YJ']);
|
|
|
}
|
|
|
if (isset($params['GX'])) {
|
|
|
// $paramData['GX_TOTAL'] = new Expression('GX_TOTAL + '.$params['GX']);
|
|
|
- $paramData['GX_TOTAL'] = $params['GX'];
|
|
|
+ $paramData['GX_TOTAL'] = ($issueBonus ? $params['GX'] * $exchangeRate : $params['GX']);
|
|
|
}
|
|
|
if (isset($params['GL'])) {
|
|
|
// $paramData['GL_TOTAL'] = new Expression('GL_TOTAL + '.$params['GL']);
|
|
|
- $paramData['GL_TOTAL'] = $params['GL'];
|
|
|
+ $paramData['GL_TOTAL'] = ($issueBonus ? $params['GL'] * $exchangeRate : $params['GL']);
|
|
|
}
|
|
|
if (isset($params['BS'])) {
|
|
|
- $paramData['BS_TOTAL'] = $params['BS'];
|
|
|
+ $paramData['BS_TOTAL'] = ($issueBonus ? $params['BS'] * $exchangeRate : $params['BS']);
|
|
|
//$oneUserBonusModel->GL_TOTAL += $params['GL'];
|
|
|
}
|
|
|
if (isset($params['BS_MNT'])) {
|
|
|
- $paramData['BS_MNT_TOTAL'] = $params['BS_MNT'];
|
|
|
+ $paramData['BS_MNT_TOTAL'] = ($issueBonus ? $params['BS_MNT'] * $exchangeRate : $params['BS_MNT']);
|
|
|
}
|
|
|
if (isset($params['BS_ABBR'])) {
|
|
|
- $paramData['BS_ABBR_TOTAL'] = $params['BS_ABBR'];
|
|
|
+ $paramData['BS_ABBR_TOTAL'] = ($issueBonus ? $params['BS_ABBR'] * $exchangeRate : $params['BS_ABBR']);
|
|
|
}
|
|
|
if (isset($params['TRAVEL_POINTS'])) {
|
|
|
- $paramData['TRAVEL_POINTS_TOTAL'] = $params['TRAVEL_POINTS'];
|
|
|
+ $paramData['TRAVEL_POINTS_TOTAL'] = ($issueBonus ? $params['TRAVEL_POINTS'] * $exchangeRate : $params['TRAVEL_POINTS']);
|
|
|
}
|
|
|
if (isset($params['CAR_POINTS'])) {
|
|
|
- $paramData['CAR_POINTS_TOTAL'] = $params['CAR_POINTS'];
|
|
|
+ $paramData['CAR_POINTS_TOTAL'] = ($issueBonus ? $params['CAR_POINTS'] * $exchangeRate : $params['CAR_POINTS']);
|
|
|
}
|
|
|
if (isset($params['HOUSE_POINTS'])) {
|
|
|
- $paramData['HOUSE_POINTS_TOTAL'] = $params['HOUSE_POINTS'];
|
|
|
+ $paramData['HOUSE_POINTS_TOTAL'] = ($issueBonus ? $params['HOUSE_POINTS'] * $exchangeRate : $params['HOUSE_POINTS']);
|
|
|
}
|
|
|
|
|
|
if (isset($params['RECONSUME_POINTS_TOTAL'])) {
|
|
|
// $paramData['RECONSUME_POINTS_TOTAL'] = new Expression('RECONSUME_POINTS_TOTAL + '.$params['RECONSUME_POINTS_TOTAL']);
|
|
|
- $paramData['RECONSUME_POINTS_TOTAL'] = $params['RECONSUME_POINTS_TOTAL'];
|
|
|
+ $paramData['RECONSUME_POINTS_TOTAL'] = ($issueBonus ? $params['RECONSUME_POINTS_TOTAL'] * $exchangeRate : $params['RECONSUME_POINTS_TOTAL']);
|
|
|
}
|
|
|
if (isset($params['MANAGE_TAX'])) {
|
|
|
// $paramData['MANAGE_TAX'] = new Expression('MANAGE_TAX + '.$params['MANAGE_TAX']);
|
|
|
- $paramData['MANAGE_TAX'] = $params['MANAGE_TAX'];
|
|
|
+ $paramData['MANAGE_TAX'] = ($issueBonus ? $params['MANAGE_TAX'] * $exchangeRate : $params['MANAGE_TAX']);
|
|
|
}
|
|
|
|
|
|
if (isset($params['ORI_QY'])) {
|
|
|
// $paramData['ORI_QY_TOTAL'] = new Expression('ORI_QY_TOTAL + '.$params['ORI_QY']);
|
|
|
- $paramData['ORI_QY_TOTAL'] = $params['ORI_QY'];
|
|
|
+ $paramData['ORI_QY_TOTAL'] = ($issueBonus ? $params['ORI_QY'] * $exchangeRate : $params['ORI_QY']);
|
|
|
}
|
|
|
// if (isset($params['ORI_FW'])) {
|
|
|
//// $paramData['ORI_FW_TOTAL'] = new Expression('ORI_FW_TOTAL + '.$params['ORI_FW']);
|
|
|
@@ -492,49 +493,49 @@ class Balance {
|
|
|
// }
|
|
|
if (isset($params['ORI_YC'])) {
|
|
|
// $paramData['ORI_YC_TOTAL'] = new Expression('ORI_YC_TOTAL + '.$params['ORI_YC']);
|
|
|
- $paramData['ORI_YC_TOTAL'] = $params['ORI_YC'];
|
|
|
+ $paramData['ORI_YC_TOTAL'] = ($issueBonus ? $params['ORI_YC'] * $exchangeRate : $params['ORI_YC']);
|
|
|
}
|
|
|
if (isset($params['ORI_VIP'])) {
|
|
|
// $paramData['ORI_VIP_TOTAL'] = new Expression('ORI_VIP_TOTAL + '.$params['ORI_VIP']);
|
|
|
- $paramData['ORI_VIP_TOTAL'] = $params['ORI_VIP'];
|
|
|
+ $paramData['ORI_VIP_TOTAL'] = ($issueBonus ? $params['ORI_VIP'] * $exchangeRate : $params['ORI_VIP']);
|
|
|
}
|
|
|
if (isset($params['ORI_STANDARD'])) {
|
|
|
- $paramData['ORI_STANDARD_TOTAL'] = $params['ORI_STANDARD'];
|
|
|
+ $paramData['ORI_STANDARD_TOTAL'] = ($issueBonus ? $params['ORI_STANDARD'] * $exchangeRate : $params['ORI_STANDARD']);
|
|
|
}
|
|
|
if (isset($params['ORI_BD'])) {
|
|
|
// $paramData['ORI_BD_TOTAL'] = new Expression('ORI_BD_TOTAL + '.$params['ORI_BD']);
|
|
|
- $paramData['ORI_BD_TOTAL'] = $params['ORI_BD'];
|
|
|
+ $paramData['ORI_BD_TOTAL'] = ($issueBonus ? $params['ORI_BD'] * $exchangeRate : $params['ORI_BD']);
|
|
|
}
|
|
|
if (isset($params['ORI_TG'])) {
|
|
|
// $paramData['ORI_TG_TOTAL'] = new Expression('ORI_TG_TOTAL + '.$params['ORI_TG']);
|
|
|
- $paramData['ORI_TG_TOTAL'] = $params['ORI_TG'];
|
|
|
+ $paramData['ORI_TG_TOTAL'] = ($issueBonus ? $params['ORI_TG'] * $exchangeRate : $params['ORI_TG']);
|
|
|
}
|
|
|
if (isset($params['ORI_YJ'])) {
|
|
|
// $paramData['ORI_YJ_TOTAL'] = new Expression('ORI_YJ_TOTAL + '.$params['ORI_YJ']);
|
|
|
- $paramData['ORI_YJ_TOTAL'] = $params['ORI_YJ'];
|
|
|
+ $paramData['ORI_YJ_TOTAL'] = ($issueBonus ? $params['ORI_YJ'] * $exchangeRate : $params['ORI_YJ']);
|
|
|
}
|
|
|
if (isset($params['ORI_GX'])) {
|
|
|
// $paramData['ORI_GX_TOTAL'] = new Expression('ORI_GX_TOTAL + '.$params['ORI_GX']);
|
|
|
- $paramData['ORI_GX_TOTAL'] = $params['ORI_GX'];
|
|
|
+ $paramData['ORI_GX_TOTAL'] = ($issueBonus ? $params['ORI_GX'] * $exchangeRate : $params['ORI_GX']);
|
|
|
}
|
|
|
if (isset($params['ORI_GL'])) {
|
|
|
// $paramData['ORI_GL_TOTAL'] = new Expression('ORI_GL_TOTAL + '.$params['ORI_GL']);
|
|
|
- $paramData['ORI_GL_TOTAL'] = $params['ORI_GL'];
|
|
|
+ $paramData['ORI_GL_TOTAL'] = ($issueBonus ? $params['ORI_GL'] * $exchangeRate : $params['ORI_GL']);
|
|
|
}
|
|
|
if (isset($params['ORI_BS'])) {
|
|
|
- $paramData['ORI_BS_TOTAL'] = $params['ORI_BS'];
|
|
|
+ $paramData['ORI_BS_TOTAL'] = ($issueBonus ? $params['ORI_BS'] * $exchangeRate : $params['ORI_BS']);
|
|
|
//$oneUserBonusModel->ORI_GL_TOTAL += $params['ORI_GL'];
|
|
|
}
|
|
|
if (isset($params['ORI_BS_MNT'])) {
|
|
|
- $paramData['BS_MNT_ORI_TOTAL'] = $params['ORI_BS_MNT'];
|
|
|
+ $paramData['BS_MNT_ORI_TOTAL'] = ($issueBonus ? $params['ORI_BS_MNT'] * $exchangeRate : $params['ORI_BS_MNT']);
|
|
|
}
|
|
|
if (isset($params['ORI_BS_ABBR'])) {
|
|
|
- $paramData['BS_ABBR_ORI_TOTAL'] = $params['ORI_BS_ABBR'];
|
|
|
+ $paramData['BS_ABBR_ORI_TOTAL'] = ($issueBonus ? $params['ORI_BS_ABBR'] * $exchangeRate : $params['ORI_BS_ABBR']);
|
|
|
}
|
|
|
|
|
|
if (isset($params['BONUS_TOTAL'])) {
|
|
|
// $paramData['BONUS_TOTAL'] = new Expression('BONUS_TOTAL + '.$params['BONUS_TOTAL']);
|
|
|
- $paramData['BONUS_TOTAL'] = $params['BONUS_TOTAL'];
|
|
|
+ $paramData['BONUS_TOTAL'] = ($issueBonus ? $params['BONUS_TOTAL'] * $exchangeRate : $params['BONUS_TOTAL']);
|
|
|
}
|
|
|
UserBonus::insertOne($paramData);
|
|
|
}
|
|
|
@@ -550,7 +551,9 @@ class Balance {
|
|
|
'LAST_EMP_LV' => $userInfo['EMP_LV'],
|
|
|
'LAST_STATUS' => $userInfo['STATUS'],
|
|
|
'CALC_ID' => $params['CALC_ID'] ?? null,
|
|
|
- 'AMOUNT' => $amount,
|
|
|
+ 'AMOUNT' => ($issueBonus ? $amount * $exchangeRate : $amount),
|
|
|
+ 'AMOUNT_STANDARD' => (!$issueBonus ? $amount / $exchangeRate : $amount),
|
|
|
+ 'EXCHANGE_RATE' => $exchangeRate,
|
|
|
'TOTAL' => $oneUserBonus[$type],
|
|
|
'IS_INCR' => $amount > 0 ? FlowBonus::INCR_ADD : FlowBonus::INCR_REDUCE,
|
|
|
'REMARK' => $params['REMARK'] ?? null,
|
|
|
@@ -575,26 +578,26 @@ class Balance {
|
|
|
}
|
|
|
if (strtolower($type) == 'bonus') {
|
|
|
FlowBonus::insertOne($flowInsertData);
|
|
|
- } elseif (strtolower($type) == 'reconsume_points') {
|
|
|
- //记录和扣除期数的积分
|
|
|
- if( $amount > 0 ) {
|
|
|
- self::addPeriodReconsumePoints($userId, $periodNum, $amount);
|
|
|
- }else {
|
|
|
- self::deductPeriodReconsumePoints($userId, abs($amount));
|
|
|
- }
|
|
|
- FlowReconsumePoints::insertOne($flowInsertData);
|
|
|
+// } elseif (strtolower($type) == 'reconsume_points') {
|
|
|
+// //记录和扣除期数的积分
|
|
|
+// if( $amount > 0 ) {
|
|
|
+// self::addPeriodReconsumePoints($userId, $periodNum, $amount);
|
|
|
+// }else {
|
|
|
+// self::deductPeriodReconsumePoints($userId, abs($amount));
|
|
|
+// }
|
|
|
+// FlowReconsumePoints::insertOne($flowInsertData);
|
|
|
} elseif (strtolower($type) == 'exchange_points') {
|
|
|
//记录和扣除期数的积分
|
|
|
if( $amount > 0 ) {
|
|
|
- self::addPeriodExchangePoints($userId, $periodNum, $amount);
|
|
|
+ self::addPeriodExchangePoints($userId, $periodNum, (!$issueBonus ? $amount / $exchangeRate : $amount));
|
|
|
}else {
|
|
|
self::deductPeriodExchangePoints($userId, abs($amount));
|
|
|
}
|
|
|
FlowExchangePoints::insertOne($flowInsertData);
|
|
|
- } elseif (strtolower($type) == 'cf') {
|
|
|
- FlowCF::insertOne($flowInsertData);
|
|
|
- } elseif (strtolower($type) == 'lx') {
|
|
|
- FlowLX::insertOne($flowInsertData);
|
|
|
+// } elseif (strtolower($type) == 'cf') {
|
|
|
+// FlowCF::insertOne($flowInsertData);
|
|
|
+// } elseif (strtolower($type) == 'lx') {
|
|
|
+// FlowLX::insertOne($flowInsertData);
|
|
|
} elseif (in_array(strtolower($type), ['travel_points', 'car_points', 'house_points'])) {
|
|
|
// 这3个奖流水在一个表,需要加二级标识码
|
|
|
$flowInsertData['WALLET_TYPE'] = strtolower($type);
|