- DemoAnalyticsService: 전환율 퍼널, 파트너 성과, 활동 현황, 대시보드 요약 - DemoAnalyticsController: 분석 API 4개 엔드포인트 - CheckDemoInactiveCommand: 7일 비활성 데모 테넌트 탐지 및 로그 알림 - ManufacturingPresetSeeder: sam_stat DB에 90일 매출/생산 통계 시딩 - 라우트: demo-analytics prefix 4개 GET 엔드포인트 등록 - 스케줄러: demo:check-inactive 매일 09:30 실행
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'));
|
|
}
|
|
}
|