11package NextLevel .demo .admin .project ;
22
33import NextLevel .demo .admin .AdminRepository ;
4+ import NextLevel .demo .funding .dto .response .FreeFundingDto ;
5+ import NextLevel .demo .funding .dto .response .ProjectTotalFundingDto ;
6+ import NextLevel .demo .funding .entity .FreeFundingEntity ;
47import NextLevel .demo .funding .repository .FundingDslRepository ;
8+ import NextLevel .demo .option .OptionEntity ;
59import NextLevel .demo .project .ProjectStatus ;
610import NextLevel .demo .project .project .dto .response .ProjectListWithFundingDto ;
711import NextLevel .demo .project .project .dto .response .ResponseProjectListDetailDto ;
@@ -26,6 +30,7 @@ public class AdminProjectService {
2630 private final SelectProjectListDslRepository selectProjectListDslRepository ;
2731 private final FundingDslRepository fundingDslRepository ;
2832 private final AdminRepository adminRepository ;
33+ private final ProjectValidateService projectValidateService ;
2934
3035 @ Transactional
3136 public ProjectListWithFundingDto getAllProjectListWithFundingData (Long page , Long pageCount ) {
@@ -56,4 +61,16 @@ public List<ResponseFundingDataDto> selectAllFunding(Long page, Long pageCount)
5661 return fundingDaoList .stream ().map (ResponseFundingDataDto ::of ).toList ();
5762 }
5863
64+ @ Transactional
65+ public ProjectTotalFundingDto getProjectFunding (Long projectId ) {
66+ ProjectEntity project = projectValidateService .getProjectEntity (projectId );
67+
68+ List <OptionEntity > optionList = project .getOptions ().stream ().toList ();
69+ for (OptionEntity optionEntity : optionList )
70+ optionEntity .getFundings ();
71+ List <FreeFundingEntity > freeFundingList = project .getFreeFundings ().stream ().toList ();
72+
73+ return ProjectTotalFundingDto .of (optionList , freeFundingList );
74+ }
75+
5976}
0 commit comments