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:
@@ -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'));
|
||||
}
|
||||
|
||||
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user