|
@@ -207,11 +207,12 @@ class BalanceLogService extends BaseService
|
|
|
$field = isset($fields[$accountType])? $fields[$accountType]:'balance';
|
|
$field = isset($fields[$accountType])? $fields[$accountType]:'balance';
|
|
|
RedisService::set($cacheLockKey, ['user_id' => $userId, 'params' => $params], rand(10, 20));
|
|
RedisService::set($cacheLockKey, ['user_id' => $userId, 'params' => $params], rand(10, 20));
|
|
|
$userInfo = MemberModel::where(['id' => $userId, 'mark' => 1])
|
|
$userInfo = MemberModel::where(['id' => $userId, 'mark' => 1])
|
|
|
- ->select(['id', 'balance','property','buy_type','bonus_status','bd_score','ls_score', 'status'])
|
|
|
|
|
|
|
+ ->select(['id', 'balance','property','buy_type','withdraw_bonus','bonus_status','bd_score','ls_score', 'status'])
|
|
|
->first();
|
|
->first();
|
|
|
$realname = isset($userInfo['realname']) ? $userInfo['realname'] : '';
|
|
$realname = isset($userInfo['realname']) ? $userInfo['realname'] : '';
|
|
|
$status = isset($userInfo['status']) ? $userInfo['status'] : 0;
|
|
$status = isset($userInfo['status']) ? $userInfo['status'] : 0;
|
|
|
$bonusStatus = isset($userInfo['bonus_status']) ? $userInfo['bonus_status'] : 0;
|
|
$bonusStatus = isset($userInfo['bonus_status']) ? $userInfo['bonus_status'] : 0;
|
|
|
|
|
+ $withdrawBonus = isset($userInfo['withdraw_bonus']) ? $userInfo['withdraw_bonus'] : 0;
|
|
|
$buyType = isset($userInfo['buy_type']) ? $userInfo['buy_type'] : 1;
|
|
$buyType = isset($userInfo['buy_type']) ? $userInfo['buy_type'] : 1;
|
|
|
$balance = isset($userInfo[$field]) ? $userInfo[$field] : 0;
|
|
$balance = isset($userInfo[$field]) ? $userInfo[$field] : 0;
|
|
|
if (empty($userInfo) || $status != 1) {
|
|
if (empty($userInfo) || $status != 1) {
|
|
@@ -224,25 +225,30 @@ class BalanceLogService extends BaseService
|
|
|
$buyType = max(1, $buyType-1);
|
|
$buyType = max(1, $buyType-1);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 提现额度
|
|
|
|
|
- $mealPrice = GoodsModel::where(['type'=>2,'mark'=>1])
|
|
|
|
|
- ->where('id','>', $buyType)
|
|
|
|
|
- ->orderBy('id','asc')
|
|
|
|
|
- ->value('price');
|
|
|
|
|
- $withdrawQuota = intval($mealPrice/0.27 * 0.73/100)*100;
|
|
|
|
|
- if($money>$withdrawQuota){
|
|
|
|
|
- $this->error = "抱歉您的账号可提现额度为:{$withdrawQuota}元";
|
|
|
|
|
- RedisService::clear($cacheLockKey);
|
|
|
|
|
- return false;
|
|
|
|
|
|
|
+ if($accountType==1){
|
|
|
|
|
+ // 提现额度
|
|
|
|
|
+ $mealPrice = GoodsModel::where(['type'=>2,'mark'=>1])
|
|
|
|
|
+ ->where('id','>', $buyType)
|
|
|
|
|
+ ->orderBy('id','asc')
|
|
|
|
|
+ ->value('price');
|
|
|
|
|
+ $withdrawQuota = intval($mealPrice/0.27 * 0.73/100)*100;
|
|
|
|
|
+ if(($money+$withdrawBonus)>$withdrawQuota){
|
|
|
|
|
+ $quota = moneyFormat($withdrawQuota-$withdrawBonus,2);
|
|
|
|
|
+ $this->error = "抱歉您的账号剩余可提现额度为:{$quota}元";
|
|
|
|
|
+ RedisService::clear($cacheLockKey);
|
|
|
|
|
+ return false;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
if ($money > $balance) {
|
|
if ($money > $balance) {
|
|
|
$this->error = '该账户可提现余额不足';
|
|
$this->error = '该账户可提现余额不足';
|
|
|
RedisService::clear($cacheLockKey);
|
|
RedisService::clear($cacheLockKey);
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
// 计算实际到账金额
|
|
// 计算实际到账金额
|
|
|
$poolMoney = 0;
|
|
$poolMoney = 0;
|
|
|
$ptMoney = 0;
|
|
$ptMoney = 0;
|
|
@@ -291,6 +297,9 @@ class BalanceLogService extends BaseService
|
|
|
// 提现处理
|
|
// 提现处理
|
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
|
$updateData = ["{$field}" => DB::raw("{$field} - {$money}"), 'update_time' => time()];
|
|
$updateData = ["{$field}" => DB::raw("{$field} - {$money}"), 'update_time' => time()];
|
|
|
|
|
+ if($accountType==1){
|
|
|
|
|
+ $updateData['withdraw_bonus'] = DB::raw("withdraw_bonus + {$money}");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
// 会员账户
|
|
// 会员账户
|
|
|
$userType = 1;
|
|
$userType = 1;
|