table('QPPlatformDB.dbo.GameRoomInfo') ->select('RevenueRatio') ->first(); // 将千分比转换为百分比显示(例如:50 -> 5%) $revenueRatio = $gameRoom ? ($gameRoom->RevenueRatio / 10) : 0; return view('admin.game_tax.index', compact('revenueRatio')); } /** * 更新所有游戏的税收比例 * * @param Request $request * @return mixed */ public function update(Request $request) { $revenueRatioPercent = $request->input('revenue_ratio'); // 验证输入 if ($revenueRatioPercent === null || $revenueRatioPercent === '') { return $this->json(400, '税收比例不能为空'); } // 转换为浮点数 $revenueRatioPercent = floatval($revenueRatioPercent); // 验证范围(0-100) if ($revenueRatioPercent < 0 || $revenueRatioPercent > 100) { return $this->json(400, '税收比例必须在0-100之间'); } try { // 将百分比转换为千分比(例如:5% -> 50) $revenueRatioValue = $revenueRatioPercent * 10; // 更新所有游戏房间的税收比例 $affectedRows = DB::connection('write') ->table('QPPlatformDB.dbo.GameRoomInfo') ->update(['RevenueRatio' => $revenueRatioValue]); // 记录日志 \Log::info('游戏税收比例更新成功', [ 'revenue_ratio_percent' => $revenueRatioPercent, 'revenue_ratio_value' => $revenueRatioValue, 'affected_rows' => $affectedRows ]); return $this->json(200, '更新成功,共更新 ' . $affectedRows . ' 条记录'); } catch (\Exception $e) { \Log::error('游戏税收比例更新失败', [ 'error' => $e->getMessage(), 'trace' => $e->getTraceAsString() ]); return $this->json(500, '更新失败:' . $e->getMessage()); } } }