lip 5 天之前
父節點
當前提交
62426daa70
共有 1 個文件被更改,包括 57 次插入55 次删除
  1. 57 55
      app/Services/BalanceLogService.php

+ 57 - 55
app/Services/BalanceLogService.php

@@ -160,67 +160,69 @@ class BalanceLogService extends BaseService
         //充值返现活动
         if ( in_array($change_type, ['充值','人工充值','三方充值'])) {
             $user = User::where('member_id', $memberId)->first();
-            //充值更新用户等级
-            $total_recharge = self::getTotalRecharge($memberId);
-            $total_recharge = bcadd($total_recharge, $amount, 2);
-            $level = self::calculateLevel($total_recharge);
-            if ($level > $user->level) {
-                $user->level = $level;
-                $user->save();
-            }
+            if ($user->from == 1) {
+                //充值更新用户等级
+                $total_recharge = self::getTotalRecharge($memberId);
+                $total_recharge = bcadd($total_recharge, $amount, 2);
+                $level = self::calculateLevel($total_recharge);
+                if ($level > $user->level) {
+                    $user->level = $level;
+                    $user->save();
+                }
 
-            $remark_amount = bcadd($amount, 0, 2);
-            //返现比例(给邀请人返现)
-            $rate = Config::where('field', 'recharge_rate')->first()->val ?? 0;
-            $add_amount = bcmul($amount, $rate/100, 2);
-            if ($add_amount > 0) {
-                //被邀请人每次充值,都给邀请人返现,直接可用余额
-                $agent_user_code = $user->agent_user_code;
-                if (!empty($agent_user_code)) {
-                    $agent_member_id = User::where('user_code', $agent_user_code)->first()->member_id;
-                    if (!empty($agent_member_id)) {
-                        $balanceData = WalletService::updateBalance($agent_member_id, $add_amount);
-                        BalanceLogService::addLog($agent_member_id, $add_amount, $balanceData['before_balance'], $balanceData['after_balance'], '充值返现', $related_id, '被邀请人:'.$memberId."充值金额为:{$remark_amount}");
+                $remark_amount = bcadd($amount, 0, 2);
+                //返现比例(给邀请人返现)
+                $rate = Config::where('field', 'recharge_rate')->first()->val ?? 0;
+                $add_amount = bcmul($amount, $rate/100, 2);
+                if ($add_amount > 0) {
+                    //被邀请人每次充值,都给邀请人返现,直接可用余额
+                    $agent_user_code = $user->agent_user_code;
+                    if (!empty($agent_user_code)) {
+                        $agent_member_id = User::where('user_code', $agent_user_code)->first()->member_id;
+                        if (!empty($agent_member_id)) {
+                            $balanceData = WalletService::updateBalance($agent_member_id, $add_amount);
+                            BalanceLogService::addLog($agent_member_id, $add_amount, $balanceData['before_balance'], $balanceData['after_balance'], '充值返现', $related_id, '被邀请人:'.$memberId."充值金额为:{$remark_amount}");
+                        }
                     }
                 }
-            }
 
-            $walletInfo = Wallet::where('member_id', $memberId)->first();
-            //即充即送-返彩活动
-            $bonusAmount = self::calculateRechargeBonus($amount,$memberId, $related_id);
-            if ($bonusAmount > 0) {
-                static::$MODEL::create([
-                    'type' => 2,
-                    'member_id' => $memberId,
-                    'amount' => $bonusAmount,
-                    'before_balance' => $walletInfo->frozen_balance,
-                    'after_balance' => bcadd($walletInfo->frozen_balance, $bonusAmount, 2),
-                    'change_type' => '即充即送',
-                    'frozen_status' => 1,
-                    'related_id' => $related_id,
-                    'remark' => '充值金额为:'.$remark_amount,
-                ]);
-                $walletInfo->frozen_balance = bcadd($walletInfo->frozen_balance, $bonusAmount, 2);
-            }
+                $walletInfo = Wallet::where('member_id', $memberId)->first();
+                //即充即送-返彩活动
+                $bonusAmount = self::calculateRechargeBonus($amount,$memberId, $related_id);
+                if ($bonusAmount > 0) {
+                    static::$MODEL::create([
+                        'type' => 2,
+                        'member_id' => $memberId,
+                        'amount' => $bonusAmount,
+                        'before_balance' => $walletInfo->frozen_balance,
+                        'after_balance' => bcadd($walletInfo->frozen_balance, $bonusAmount, 2),
+                        'change_type' => '即充即送',
+                        'frozen_status' => 1,
+                        'related_id' => $related_id,
+                        'remark' => '充值金额为:'.$remark_amount,
+                    ]);
+                    $walletInfo->frozen_balance = bcadd($walletInfo->frozen_balance, $bonusAmount, 2);
+                }
 
-            //老用户回归-返彩活动
-            $bonusAmount = self::calculateUserReturnRechargeBonus($amount,$memberId, $level, $related_id);
-            
-            if ($bonusAmount > 0) {
-                static::$MODEL::create([
-                    'type' => 2,
-                    'member_id' => $memberId,
-                    'amount' => $bonusAmount,
-                    'before_balance' => $walletInfo->frozen_balance,
-                    'after_balance' => bcadd($walletInfo->frozen_balance, $bonusAmount, 2),
-                    'change_type' => '老用户回归',
-                    'frozen_status' => 1,
-                    'related_id' => $related_id,
-                    'remark' => '充值金额为:'.$remark_amount,
-                ]);
-                $walletInfo->frozen_balance = bcadd($walletInfo->frozen_balance, $bonusAmount, 2);
+                //老用户回归-返彩活动
+                $bonusAmount = self::calculateUserReturnRechargeBonus($amount,$memberId, $level, $related_id);
+                
+                if ($bonusAmount > 0) {
+                    static::$MODEL::create([
+                        'type' => 2,
+                        'member_id' => $memberId,
+                        'amount' => $bonusAmount,
+                        'before_balance' => $walletInfo->frozen_balance,
+                        'after_balance' => bcadd($walletInfo->frozen_balance, $bonusAmount, 2),
+                        'change_type' => '老用户回归',
+                        'frozen_status' => 1,
+                        'related_id' => $related_id,
+                        'remark' => '充值金额为:'.$remark_amount,
+                    ]);
+                    $walletInfo->frozen_balance = bcadd($walletInfo->frozen_balance, $bonusAmount, 2);
+                }
+                $walletInfo->save();
             }
-            $walletInfo->save();
         }
         
         return $result;