ClientLogController.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Http\Controllers\Game;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\ClientLog;
  5. use Illuminate\Http\Request;
  6. class ClientLogController extends Controller
  7. {
  8. /**
  9. * Record client log
  10. * @param Request $request
  11. * @return \Illuminate\Http\JsonResponse
  12. */
  13. public function recordLog(Request $request)
  14. {
  15. try {
  16. $logType = $request->input('log_type');
  17. // Validate log_type
  18. if (empty($logType) || !in_array($logType, ['register', 'pay'])) {
  19. return apiReturnFail('Invalid log_type. Must be register or pay');
  20. }
  21. $data = [
  22. 'log_type' => $logType,
  23. 'userID' => $request->input('userID'),
  24. 'Channel' => $request->input('Channel'),
  25. 'campaign_id' => $request->input('campaign_id'),
  26. 'ad_id' => $request->input('ad_id'),
  27. 'pixel' => $request->input('pixel'),
  28. 'pixelID' => $request->input('pixelID'),
  29. 'log_date' => $request->input('log_date') ?: date('Y-m-d'),
  30. ];
  31. $result = ClientLog::addLog($data);
  32. if ($result) {
  33. return apiReturnSuc(['message' => 'Log recorded successfully']);
  34. } else {
  35. return apiReturnFail('Failed to record log');
  36. }
  37. } catch (\Exception $e) {
  38. \Log::error('Client log record error: ' . $e->getMessage(), [
  39. 'request' => $request->all(),
  40. 'trace' => $e->getTraceAsString()
  41. ]);
  42. return apiReturnFail('Error: ' . $e->getMessage());
  43. }
  44. }
  45. }