63 lines
1.6 KiB
PHP
63 lines
1.6 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Http\Controllers\Api\V1;
|
||
|
|
|
||
|
|
use App\Helpers\ApiResponse;
|
||
|
|
use App\Http\Controllers\Controller;
|
||
|
|
use App\Services\Demo\DemoAnalyticsService;
|
||
|
|
use Illuminate\Http\Request;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 데모 테넌트 분석 API 컨트롤러
|
||
|
|
*
|
||
|
|
* 전환율, 파트너 성과, 활동 현황 등 데모 분석 엔드포인트
|
||
|
|
*
|
||
|
|
* 기존 코드 영향 없음: 데모 전용 라우트에서만 사용
|
||
|
|
*
|
||
|
|
* @see docs/features/sales/demo-tenant-policy.md
|
||
|
|
*/
|
||
|
|
class DemoAnalyticsController extends Controller
|
||
|
|
{
|
||
|
|
public function __construct(private DemoAnalyticsService $service) {}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 대시보드 요약
|
||
|
|
*/
|
||
|
|
public function summary()
|
||
|
|
{
|
||
|
|
return ApiResponse::handle(function () {
|
||
|
|
return $this->service->summary();
|
||
|
|
}, __('message.fetched'));
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 전환율 퍼널 분석
|
||
|
|
*/
|
||
|
|
public function conversionFunnel(Request $request)
|
||
|
|
{
|
||
|
|
return ApiResponse::handle(function () use ($request) {
|
||
|
|
return $this->service->conversionFunnel($request->all());
|
||
|
|
}, __('message.fetched'));
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 파트너별 성과 분석
|
||
|
|
*/
|
||
|
|
public function partnerPerformance(Request $request)
|
||
|
|
{
|
||
|
|
return ApiResponse::handle(function () use ($request) {
|
||
|
|
return $this->service->partnerPerformance($request->all());
|
||
|
|
}, __('message.fetched'));
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 데모 테넌트 활동 현황
|
||
|
|
*/
|
||
|
|
public function activityReport(Request $request)
|
||
|
|
{
|
||
|
|
return ApiResponse::handle(function () use ($request) {
|
||
|
|
return $this->service->activityReport($request->all());
|
||
|
|
}, __('message.fetched'));
|
||
|
|
}
|
||
|
|
}
|