webman_ad/app/controller/AdController.php

77 lines
2.3 KiB
PHP

<?php
namespace app\controller;
use app\service\GoogleAdsReportService;
use support\Request;
use support\Response;
use DI\Annotation\Inject;
class AdController
{
/**
* @Inject
* @var GoogleAdsReportService
*/
private $googleAdsReportService;
public function listAds(Request $request)
{
// 获取请求参数
$page = $request->input('page', 1); // 页码
$pageSize = $request->input('page_size', 20); // 每页数量
$keyword = $request->input('keyword', ''); // 关键字搜索
$dateRange = $request->input('date_range', 'Today'); // 日期范围
// 调用 Service 层查询
$result = $this->googleAdsReportService::getAdList($page, $pageSize, $keyword, $dateRange);
return $this->successResponse($result);
}
public function listCampaigns(Request $request)
{
// 获取请求参数
$page = $request->input('page', 1); // 页码
$pageSize = $request->input('page_size', 20); // 每页数量
$keyword = $request->input('keyword', ''); // 关键字搜索
$dateRange = $request->input('date_range', 'Today'); // 日期范围
// 调用 Service 层查询
$result = $this->googleAdsReportService::getCampaignList($page, $pageSize, $keyword, $dateRange);
return $this->successResponse($result);
}
public function listGroups(Request $request)
{
// 获取请求参数
$page = $request->input('page', 1); // 页码
$pageSize = $request->input('page_size', 20); // 每页数量
$keyword = $request->input('keyword', ''); // 关键字搜索
$dateRange = $request->input('date_range', 'Today'); // 日期范围
// 调用 Service 层查询
$result = $this->googleAdsReportService::getAdGroupList($page, $pageSize, $keyword, $dateRange);
return $this->successResponse($result);
}
// 可以加入一些公共方法
protected function successResponse($data): Response
{
return Json([
'code' => 0,
'msg' => date('Y-m-d'),
'data' => $data,
]);
}
protected function errorResponse($code, $message, $data = []): Response
{
return Json([
'code' => $code,
'msg' => $message ?: 'error',
'data' => $data
]);
}
}