lip пре 22 часа
родитељ
комит
f9e84d1f06
2 измењених фајлова са 50 додато и 34 уклоњено
  1. 6 0
      app/Models/RechargeChannelGroup.php
  2. 44 34
      app/Services/BalanceLogService.php

+ 6 - 0
app/Models/RechargeChannelGroup.php

@@ -41,4 +41,10 @@ class RechargeChannelGroup extends BaseModel
         $this->attributes['activity_type'] = is_array($value) ? implode(',', $value) : $value;
     }
 
+    public static function getActivityType($id) {
+        $id = $id > 0 ? $id : 1;
+        $activity_type = self::where('id', $id)->value('activity_type');
+        return $activity_type;
+    }
+
 }

+ 44 - 34
app/Services/BalanceLogService.php

@@ -9,6 +9,7 @@ use App\Models\Config;
 use App\Models\WalletBonus;
 use App\Models\Wallet;
 use App\Models\Level;
+use App\Models\RechargeChannelGroup;
 use App\Models\UserLogin;
 
 // 余额额变动记录
@@ -191,42 +192,51 @@ class BalanceLogService extends BaseService
                     }
                 }
 
-                $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);
-                }
+                //用户活动
+                $activity_type = RechargeChannelGroup::getActivityType($user->recharge_channel_group_id);
+                if ($activity_type) {
+                    $walletInfo = Wallet::where('member_id', $memberId)->first();
+                    if (in_array('recharge', $activity_type)) {
+                        //即充即送-返彩活动
+                        $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);
+                    if (in_array('recharge', $activity_type)) {
+                        //老用户回归-返彩活动
+                        $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();
             }
         }