git -C '/home/opc/rocketa.git' show 13d79e5 -- app/Http/Controllers/Media/Ad.phpcommit 13d79e5dee41987780133ced01b3e3cc2349b1c9
Author: Satoshi Ujihara <satoshi_ujihara@fivegate.jp>
Date: Wed Nov 5 13:17:46 2025 +0900
テストセンター機能実装
diff --git a/app/Http/Controllers/Media/Ad.php b/app/Http/Controllers/Media/Ad.php
index 30f2246..490887d 100644
--- a/app/Http/Controllers/Media/Ad.php
+++ b/app/Http/Controllers/Media/Ad.php
@@ -17,8 +17,14 @@ use App\Models\La\AdRewardGroupDatas;
use App\Models\La\AdJoinMediaDatas;
use App\Models\La\AdMaterialDatas;
use App\Models\Api\ApiAdJoinMediaDatas;
+use App\Models\Api\ApiClickRecordsTest;
use Illuminate\Foundation\Console\Presets\Vue;
+use Illuminate\Support\Facades\Artisan;
+
+use GuzzleHttp\Client;
+use GuzzleHttp\Exception\RequestException;
+
class Ad extends Controller
{
use Common;
@@ -42,7 +48,7 @@ class Ad extends Controller
*/
public function detail(Request $request)
{
- $check_media_datas = MediaDatas::select('id', 'name')
+ $check_media_datas = MediaDatas::select('id', 'name', 'api_url_test')
->where('id', $request->media_id)
->where('company_id', Auth::user('medias')->media_company_id)
->first();
@@ -184,6 +190,11 @@ class Ad extends Controller
}
}
+ //click test log
+ $click_records_test = ApiClickRecordsTest::select('id', 'sid','other_parameters','created_at')
+ ->where('master_ad_id', $request->ad_id)
+ ->where('media_id', $request->media_id)->orderBy('created_at','DESC')->get();
+
return view('media.ad.detail')
->with('conditions_icon', \Config::get('const.conditions_icon'))
->with('repeat_criteria', \Config::get('const.repeat_criteria'))
@@ -194,7 +205,44 @@ class Ad extends Controller
->with('ad_reward_data', $ad_reward_data)
->with('ad_material_datas', $ad_material_datas)
->with('ad_material_manuscripts', $ad_material_manuscripts)
- ->with('get_ad_material_datas', $get_ad_material_datas);
+ ->with('get_ad_material_datas', $get_ad_material_datas)
+ ->with('click_records_test', $click_records_test)
+ ->with('media_data', $check_media_datas);
+ }
+
+ public function clickRecordTest($click_records_test_id)
+ {
+ try {
+ $click_records_test = ApiClickRecordsTest::select()
+ ->where('id', $click_records_test_id)->first();
+ $client = new Client();
+ $send_query= [];
+ $send_query['ad_id']= $click_records_test->master_ad_id;
+ $send_query['sid']= $click_records_test->sid;
+ $send_query['client_id']= $click_records_test->client_id;
+ $send_query['event_name']= "install";
+ $response = $client->get("https://api.rocket-a.com/service/test2", [
+ 'query' => $send_query,
+ 'http_errors' => false,
+ ]);
+ $response_result = $response->getStatusCode();
+
+ if ($response_result == 200) {
+ $body = $response->getBody()->getContents();
+ // JSONを連想配列に変換
+ $data = json_decode($body, true);
+ Artisan::call('get_result_data_tests', ['insert_id' => $data['insert_id']]);
+ }
+ } catch (RequestException $e) {
+ if ($e->hasResponse()) {
+ echo "HTTP Error: " . $e->getResponse()->getStatusCode() . "\n";
+ echo "Response body: " . $e->getResponse()->getBody();
+ } else {
+ echo "Request failed before getting a response\n";
+ echo $e->getMessage();
+ }
+}
+ return redirect(url()->previous());
}
public function lists(Request $request)