ソースを参照

未充值过滤 apple goole

Tree 3 週間 前
コミット
7263610084

+ 17 - 5
app/Http/Controllers/Game/PayRechargeController.php

@@ -84,9 +84,11 @@ class PayRechargeController extends Controller
             ->select('id','money','favorable_price','give')
             ->select('id','money','favorable_price','give')
             ->orderBy('money', 'asc')->where('status', 1)->get();
             ->orderBy('money', 'asc')->where('status', 1)->get();
 
 
+        $vip = DB::table(TableName::QPAccountsDB() . 'YN_VIPAccount')
+            ->where('UserID', $user->UserID)
+            ->value('Recharge') ?: 0;
 
 
-
-        $gear = Util::filterGearByDevice(\GuzzleHttp\json_encode($names));
+        $gear = Util::filterGearByDevice(\GuzzleHttp\json_encode($names), $vip);
         foreach ($list as &$val) {
         foreach ($list as &$val) {
             $val->favorable_price = $val->favorable_price + $val->give;
             $val->favorable_price = $val->favorable_price + $val->give;
             $val->gear = $gear;
             $val->gear = $gear;
@@ -132,6 +134,10 @@ class PayRechargeController extends Controller
                 ->where('in_shop', 1)
                 ->where('in_shop', 1)
                 ->get();
                 ->get();
             
             
+            $vip = DB::table(TableName::QPAccountsDB() . 'YN_VIPAccount')
+                ->where('UserID', $user->UserID)
+                ->value('Recharge') ?: 0;
+            
             foreach ($list as &$val) {
             foreach ($list as &$val) {
                 $val->favorable_price = $val->favorable_price + $val->give;
                 $val->favorable_price = $val->favorable_price + $val->give;
                 $val->recommend = 0;
                 $val->recommend = 0;
@@ -139,7 +145,7 @@ class PayRechargeController extends Controller
                     $val->recommend = 1;
                     $val->recommend = 1;
                 }
                 }
                 if (!empty($val->gear)) {
                 if (!empty($val->gear)) {
-                    $val->gear = Util::filterGearByDevice($val->gear);
+                    $val->gear = Util::filterGearByDevice($val->gear, $vip);
                 }
                 }
             }
             }
             
             
@@ -652,6 +658,9 @@ class PayRechargeController extends Controller
             ->get();
             ->get();
 
 
 //        $gear = \GuzzleHttp\json_encode($names);
 //        $gear = \GuzzleHttp\json_encode($names);
+        // 注意:getFirstPayGiftData 方法需要接收 $userId 参数才能获取 $vip
+        // 这里暂时使用 0,因为该方法没有 $userId 参数
+        $vip = 0;
         foreach ($list as &$val) {
         foreach ($list as &$val) {
             $val->favorable_price = $val->favorable_price + $val->give;
             $val->favorable_price = $val->favorable_price + $val->give;
 //            $val->gear = $gear;
 //            $val->gear = $gear;
@@ -660,7 +669,7 @@ class PayRechargeController extends Controller
                 $val->recommend = 1;
                 $val->recommend = 1;
             }
             }
             if (!empty($val->gear)) {
             if (!empty($val->gear)) {
-                $val->gear = Util::filterGearByDevice($val->gear);
+                $val->gear = Util::filterGearByDevice($val->gear, $vip);
             }
             }
         }
         }
 
 
@@ -746,7 +755,10 @@ class PayRechargeController extends Controller
                 $gear->total_bonus = $gift->total_bonus;
                 $gear->total_bonus = $gift->total_bonus;
                 $gear->bonus = $gift->total_bonus - 100;
                 $gear->bonus = $gift->total_bonus - 100;
                 if (!empty($gear->gear)) {
                 if (!empty($gear->gear)) {
-                    $gear->gear = Util::filterGearByDevice($gear->gear);
+                    $vip = DB::table(TableName::QPAccountsDB() . 'YN_VIPAccount')
+                        ->where('UserID', $user->UserID)
+                        ->value('Recharge') ?: 0;
+                    $gear->gear = Util::filterGearByDevice($gear->gear, $vip);
                 }
                 }
                 $result[] = $gear;
                 $result[] = $gear;
             }
             }

+ 8 - 1
app/Http/Controllers/Game/RechargeController.php

@@ -29,6 +29,13 @@ class RechargeController
     public function gear(Request $request)
     public function gear(Request $request)
     {
     {
 
 
+        $UserID = (int)$request->globalUser->UserID ?? 0;
+        $vip = 0;
+        if ($UserID > 0) {
+            $vip = DB::table(TableName::QPAccountsDB() . 'YN_VIPAccount')
+                ->where('UserID', $UserID)
+                ->value('Recharge') ?: 0;
+        }
 
 
         $list = DB::table('agent.dbo.recharge_gear')
         $list = DB::table('agent.dbo.recharge_gear')
             ->where('in_shop', 1)
             ->where('in_shop', 1)
@@ -37,7 +44,7 @@ class RechargeController
 
 
         foreach ($list as $item) {
         foreach ($list as $item) {
             if (!empty($item->gear)) {
             if (!empty($item->gear)) {
-                $item->gear = Util::filterGearByDevice($item->gear);
+                $item->gear = Util::filterGearByDevice($item->gear, $vip);
             }
             }
         }
         }
 
 

+ 12 - 4
app/Services/HolidayWheelService.php

@@ -6,6 +6,7 @@ use App\Game\Services\OuroGameService;
 use App\Http\helper\NumConfig;
 use App\Http\helper\NumConfig;
 use App\Utility\SetNXLock;
 use App\Utility\SetNXLock;
 use App\Util;
 use App\Util;
+use App\Facade\TableName;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\DB;
 
 
 class HolidayWheelService
 class HolidayWheelService
@@ -31,7 +32,7 @@ class HolidayWheelService
         $lunzi_url = '';
         $lunzi_url = '';
         $dipan_url = '';
         $dipan_url = '';
         // 默认规则从活动配置 + 商城档位中计算(包含金额、次数和档位信息)
         // 默认规则从活动配置 + 商城档位中计算(包含金额、次数和档位信息)
-        $rechargeRules = $this->getDefaultRechargeRules();
+        $rechargeRules = $this->getDefaultRechargeRules($userId);
 
 
         if ($activity) {
         if ($activity) {
             $status = (int)($activity->status ?? 0);
             $status = (int)($activity->status ?? 0);
@@ -120,7 +121,7 @@ class HolidayWheelService
         }
         }
 
 
         // 统一使用默认规则(已基于活动配置 + 商城档位计算),保持金额与 times 一致
         // 统一使用默认规则(已基于活动配置 + 商城档位计算),保持金额与 times 一致
-        $rules = $this->getDefaultRechargeRules();
+        $rules = $this->getDefaultRechargeRules($userId);
 
 
         $payStr = number_format($payAmt, 2, '.', '');
         $payStr = number_format($payAmt, 2, '.', '');
         $addTimes = 0;
         $addTimes = 0;
@@ -289,7 +290,7 @@ class HolidayWheelService
      * - 额外从 recharge_gear 中取出相同金额的档位详情(类似商城列表的数据),
      * - 额外从 recharge_gear 中取出相同金额的档位详情(类似商城列表的数据),
      *   times 字段保持不变。
      *   times 字段保持不变。
      */
      */
-    public function getDefaultRechargeRules(): array
+    public function getDefaultRechargeRules(int $userId = 0): array
     {
     {
         // 固定的基础规则(金额+次数)
         // 固定的基础规则(金额+次数)
         // 1) 先从活动配置中读取 recharge_rules
         // 1) 先从活动配置中读取 recharge_rules
@@ -315,6 +316,12 @@ class HolidayWheelService
                 ['amount' => 49.99, 'times' => 6],
                 ['amount' => 49.99, 'times' => 6],
             ];
             ];
         }
         }
+        $vip = 0;
+        if ($userId > 0) {
+            $vip = DB::table(TableName::QPAccountsDB() . 'YN_VIPAccount')
+                ->where('UserID', $userId)
+                ->value('Recharge') ?: 0;
+        }
 
 
         // 为每条规则附加与金额相同的 recharge_gear 配置(类似商城 gear 列表)
         // 为每条规则附加与金额相同的 recharge_gear 配置(类似商城 gear 列表)
         foreach ($rules as &$rule) {
         foreach ($rules as &$rule) {
@@ -332,7 +339,8 @@ class HolidayWheelService
             if ($item) {
             if ($item) {
                 // 过滤 gear 支付方式,跟商城接口一致
                 // 过滤 gear 支付方式,跟商城接口一致
                 if (!empty($item->gear)) {
                 if (!empty($item->gear)) {
-                    $item->gear = Util::filterGearByDevice($item->gear);
+
+                    $item->gear = Util::filterGearByDevice($item->gear, $vip);
                 }
                 }
 
 
                 $rule['gear'] = [
                 $rule['gear'] = [

+ 7 - 2
app/Util.php

@@ -483,7 +483,7 @@ class Util {
      * @param string|array $gear
      * @param string|array $gear
      * @return string|array
      * @return string|array
      */
      */
-    public static function filterGearByDevice($gear)
+    public static function filterGearByDevice($gear,$vip = 0)
     {
     {
         $isString = false;
         $isString = false;
         if (is_string($gear)) {
         if (is_string($gear)) {
@@ -505,7 +505,7 @@ class Util {
 
 
         $deviceType = self::getDeviceType();
         $deviceType = self::getDeviceType();
 
 
-        $filtered = array_filter($gearArray, function ($item) use ($deviceType) {
+        $filtered = array_filter($gearArray, function ($item) use ($deviceType,$vip) {
             $status = $item['status'] ?? 1;
             $status = $item['status'] ?? 1;
             if ($status != 1) {
             if ($status != 1) {
                 return true;
                 return true;
@@ -529,6 +529,11 @@ class Util {
             if ($deviceType === 'ios' && $value === 8) {
             if ($deviceType === 'ios' && $value === 8) {
                 return false;
                 return false;
             }
             }
+            if($vip ==0){
+                if(in_array($value,[4,8])){
+                    return false;
+                }
+            }
 
 
             return true;
             return true;
         });
         });

+ 3 - 1
routes/game.php

@@ -59,7 +59,7 @@ Route::any('/logout', 'Game\LoginController@Logout');
 Route::any('/service', 'Game\GameController@customer_service');
 Route::any('/service', 'Game\GameController@customer_service');
 
 
 
 
-Route::any('/recharge/gear', 'Game\RechargeController@gear');
+
 Route::any('/recharge/gearAct', 'Game\RechargeController@gearAct');
 Route::any('/recharge/gearAct', 'Game\RechargeController@gearAct');
 Route::any('/recharge/pay_channel', 'Game\RechargeController@payChannel');
 Route::any('/recharge/pay_channel', 'Game\RechargeController@payChannel');
 
 
@@ -215,6 +215,8 @@ Route::group([
     $route->any('/send_code', 'Game\SendCodeController@send');
     $route->any('/send_code', 'Game\SendCodeController@send');
     $route->any('/forgetPass', 'Game\LoginController@forgetPassword');
     $route->any('/forgetPass', 'Game\LoginController@forgetPassword');
 
 
+    $route->any('/recharge/gear', 'Game\RechargeController@gear');
+
     $route->any('/routes', 'Game\WebRouteController@Routes');
     $route->any('/routes', 'Game\WebRouteController@Routes');
     $route->any('/pageModules/{id}', 'Game\WebPageModuleController@PageModules');
     $route->any('/pageModules/{id}', 'Game\WebPageModuleController@PageModules');
     $route->any('/gameList', 'Game\WebPageModuleController@GameList');
     $route->any('/gameList', 'Game\WebPageModuleController@GameList');