fix:영업파트너관리 목록에서 본인이 유치한 파트너만 표시되도록 수정

- parent_id 필터를 현재 로그인 사용자 ID로 강제 설정
- 통계(stats)도 현재 사용자 기준으로 조회하도록 변경
- getSalesPartners()에 parent_id 필터 처리 추가
- getStats()에 parentId 파라미터 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
pro
2026-01-31 10:26:51 +09:00
parent 2b518f5b1f
commit 9ba1fa2db1
2 changed files with 13 additions and 2 deletions

View File

@@ -32,10 +32,11 @@ public function index(Request $request): View|Response
'search' => $request->get('search'),
'role' => $request->get('role'),
'approval_status' => $request->get('approval_status'),
'parent_id' => auth()->id(), // 현재 로그인한 사용자가 유치한 파트너만 조회
];
$partners = $this->service->getSalesPartners($filters)->paginate(20);
$stats = $this->service->getStats();
$stats = $this->service->getStats(auth()->id()); // 통계도 현재 사용자 기준
return view('sales.managers.index', compact('partners', 'stats'));
}

View File

@@ -397,6 +397,11 @@ public function getSalesPartners(array $filters = [])
$query->where('approval_status', $filters['approval_status']);
}
// 유치자(추천인) 필터 - 현재 로그인한 사용자가 유치한 파트너만
if (!empty($filters['parent_id'])) {
$query->where('parent_id', $filters['parent_id']);
}
return $query->orderBy('name');
}
@@ -453,7 +458,7 @@ public function getSalesRoles()
/**
* 통계 조회
*/
public function getStats(): array
public function getStats(?int $parentId = null): array
{
$tenantId = session('selected_tenant_id', 1);
@@ -465,6 +470,11 @@ public function getStats(): array
});
});
// 유치자 기준 필터
if ($parentId) {
$baseQuery->where('parent_id', $parentId);
}
return [
'total' => (clone $baseQuery)->count(),
'pending' => (clone $baseQuery)->where('approval_status', 'pending')->count(),