fix:대시보드에 매니저로 지정된 계약도 표시

- 내가 등록한 계약 (20% 수당)
- 내가 매니저로 지정된 계약 (5% 수당)
- 두 목록을 합쳐서 "내 계약 현황"에 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
pro
2026-01-30 16:38:16 +09:00
parent 27d327f13c
commit bd371f25d5

View File

@@ -107,19 +107,28 @@ private function getDashboardData(Request $request): array
'confirmed_commission' => 0, // 확정 가입비 수당
];
// 테넌트 목록 (나와 연결된 계약만 - 내가 등록한 가망고객에서 전환된 테넌트)
// 현재 사용자와 하위 영업파트너 ID 목록
// 테넌트 목록 (나와 연결된 계약만)
// 1. 내가 등록하거나 내 하위 영업파트너가 등록한 가망고객
// 2. 내가 매니저로 지정된 계약
$currentUserId = auth()->id();
$childrenIds = auth()->user()->children()->pluck('id')->toArray();
$partnerIds = array_merge([$currentUserId], $childrenIds);
// 내가 등록하거나 내 하위 영업파트너가 등록한 전환된 가망고객의 tenant_id 목록 조회
$convertedTenantIds = TenantProspect::whereNotNull('tenant_id')
// 1) 내가 등록한 가망고객에서 전환된 tenant_id (20% 수당)
$registeredTenantIds = TenantProspect::whereNotNull('tenant_id')
->where('status', TenantProspect::STATUS_CONVERTED)
->whereIn('registered_by', $partnerIds)
->pluck('tenant_id')
->toArray();
// 2) 내가 매니저로 지정된 tenant_id (5% 수당)
$managedTenantIds = SalesTenantManagement::where('manager_user_id', $currentUserId)
->pluck('tenant_id')
->toArray();
// 두 목록 합치기 (중복 제거)
$convertedTenantIds = array_unique(array_merge($registeredTenantIds, $managedTenantIds));
// 전환된 테넌트만 조회 (최신순, 페이지네이션)
$tenants = Tenant::whereIn('id', $convertedTenantIds)
->orderBy('created_at', 'desc')
@@ -204,18 +213,26 @@ public function assignManager(int $tenantId, Request $request): JsonResponse
*/
public function refreshTenantList(Request $request): View
{
// 현재 사용자와 하위 영업파트너 ID 목록
// 테넌트 목록 (나와 연결된 계약만)
$currentUserId = auth()->id();
$childrenIds = auth()->user()->children()->pluck('id')->toArray();
$partnerIds = array_merge([$currentUserId], $childrenIds);
// 내가 등록하거나 내 하위 영업파트너가 등록한 전환된 가망고객의 tenant_id 목록 조회
$convertedTenantIds = TenantProspect::whereNotNull('tenant_id')
// 1) 내가 등록한 가망고객에서 전환된 tenant_id (20% 수당)
$registeredTenantIds = TenantProspect::whereNotNull('tenant_id')
->where('status', TenantProspect::STATUS_CONVERTED)
->whereIn('registered_by', $partnerIds)
->pluck('tenant_id')
->toArray();
// 2) 내가 매니저로 지정된 tenant_id (5% 수당)
$managedTenantIds = SalesTenantManagement::where('manager_user_id', $currentUserId)
->pluck('tenant_id')
->toArray();
// 두 목록 합치기 (중복 제거)
$convertedTenantIds = array_unique(array_merge($registeredTenantIds, $managedTenantIds));
// 전환된 테넌트만 조회 (최신순, 페이지네이션)
$tenants = Tenant::whereIn('id', $convertedTenantIds)
->orderBy('created_at', 'desc')