1515import ddingdong .ddingdongBE .domain .user .entity .User ;
1616import ddingdong .ddingdongBE .file .service .S3FileService ;
1717import ddingdong .ddingdongBE .file .service .dto .query .UploadedFileUrlQuery ;
18+ import java .time .LocalDateTime ;
1819import java .util .List ;
1920import java .util .Map ;
2021import java .util .stream .Collectors ;
2627@ Service
2728@ Transactional (readOnly = true )
2829@ RequiredArgsConstructor
29- public class FacadeClubActivityReportServiceImpl implements FacadeClubActivityReportService {
30+ public class FacadeClubActivityReportServiceImpl implements FacadeClubActivityReportService {
3031
3132 private final ActivityReportService activityReportService ;
3233 private final ActivityReportTermInfoService activityReportTermInfoService ;
@@ -36,14 +37,14 @@ public class FacadeClubActivityReportServiceImpl implements FacadeClubActivityRe
3637
3738 @ Override
3839 public List <ActivityReportQuery > getActivityReport (
39- String term ,
40- String clubName
40+ String term ,
41+ String clubName
4142 ) {
4243 List <ActivityReport > activityReports = activityReportService .getActivityReport (clubName , term );
4344
4445 return activityReports .stream ()
45- .map (this ::parseToQuery )
46- .toList ();
46+ .map (this ::parseToQuery )
47+ .toList ();
4748 }
4849
4950 @ Override
@@ -57,20 +58,20 @@ public List<ActivityReportListQuery> getMyActivityReports(User user) {
5758 public List <ActivityReportTermInfoQuery > getActivityReportTermInfos () {
5859 List <ActivityReportTermInfo > termInfos = activityReportTermInfoService .getActivityReportTermInfos ();
5960 return termInfos .stream ()
60- .map (ActivityReportTermInfoQuery ::from )
61- .toList ();
61+ .map (ActivityReportTermInfoQuery ::from )
62+ .toList ();
6263 }
6364
6465 @ Override
65- public String getCurrentTerm () {
66- return activityReportTermInfoService .getCurrentTerm ();
66+ public String getCurrentTerm (LocalDateTime now ) {
67+ return activityReportTermInfoService .getCurrentTerm (now );
6768 }
6869
6970 @ Transactional
7071 @ Override
7172 public void create (
72- User user ,
73- List <CreateActivityReportCommand > commands
73+ User user ,
74+ List <CreateActivityReportCommand > commands
7475 ) {
7576 Club club = clubService .getByUserId (user .getId ());
7677 commands .forEach (command -> {
@@ -84,25 +85,25 @@ public void create(
8485 @ Transactional
8586 @ Override
8687 public void update (
87- User user ,
88- String term ,
89- List <UpdateActivityReportCommand > commands
88+ User user ,
89+ String term ,
90+ List <UpdateActivityReportCommand > commands
9091 ) {
9192 Club club = clubService .getByUserId (user .getId ());
9293 List <ActivityReport > activityReports = activityReportService .getActivityReportOrThrow (club .getName (), term );
9394
9495 IntStream .range (0 , commands .size ())
95- .forEach (index -> {
96- ActivityReport activityReport = activityReports .get (index );
97- ActivityReport updateActivityReport = commands .get (index ).toEntity ();
98- activityReportService .update (activityReport , updateActivityReport );
99-
100- fileMetaDataService .update (
101- commands .get (index ).imageId (),
102- DomainType .ACTIVITY_REPORT_IMAGE ,
103- activityReport .getId ()
104- );
105- });
96+ .forEach (index -> {
97+ ActivityReport activityReport = activityReports .get (index );
98+ ActivityReport updateActivityReport = commands .get (index ).toEntity ();
99+ activityReportService .update (activityReport , updateActivityReport );
100+
101+ fileMetaDataService .update (
102+ commands .get (index ).imageId (),
103+ DomainType .ACTIVITY_REPORT_IMAGE ,
104+ activityReport .getId ()
105+ );
106+ });
106107 }
107108
108109 @ Transactional
@@ -112,25 +113,25 @@ public void delete(User user, String term) {
112113 List <ActivityReport > activityReports = activityReportService .getActivityReportOrThrow (club .getName (), term );
113114 activityReportService .deleteAll (activityReports );
114115 activityReports .forEach (activityReport -> {
115- fileMetaDataService .updateStatusToDelete (DomainType .ACTIVITY_REPORT_IMAGE , activityReport .getId ());
116+ fileMetaDataService .updateStatusToDelete (DomainType .ACTIVITY_REPORT_IMAGE , activityReport .getId ());
116117 });
117118 }
118119
119120 private ActivityReportQuery parseToQuery (ActivityReport activityReport ) {
120121 UploadedFileUrlQuery image = fileMetaDataService
121- .getCoupledAllByDomainTypeAndEntityId (DomainType .ACTIVITY_REPORT_IMAGE , activityReport .getId ())
122- .stream ()
123- .map (fileMetaData -> s3FileService .getUploadedFileUrl (fileMetaData .getFileKey ()))
124- .findFirst ()
125- .orElse (null );
122+ .getCoupledAllByDomainTypeAndEntityId (DomainType .ACTIVITY_REPORT_IMAGE , activityReport .getId ())
123+ .stream ()
124+ .map (fileMetaData -> s3FileService .getUploadedFileUrl (fileMetaData .getFileKey ()))
125+ .findFirst ()
126+ .orElse (null );
126127 return ActivityReportQuery .of (activityReport , image );
127128 }
128129
129130 private List <ActivityReportListQuery > parseToListQuery (final List <ActivityReport > activityReports ) {
130131 Map <String , Map <String , List <Long >>> groupedData = activityReports .stream ().collect (
131- Collectors .groupingBy (activityReport -> activityReport .getClub ().getName (),
132- Collectors .groupingBy (ActivityReport ::getTerm ,
133- Collectors .mapping (ActivityReport ::getId , Collectors .toList ()))));
132+ Collectors .groupingBy (activityReport -> activityReport .getClub ().getName (),
133+ Collectors .groupingBy (ActivityReport ::getTerm ,
134+ Collectors .mapping (ActivityReport ::getId , Collectors .toList ()))));
134135
135136 return groupedData .entrySet ().stream ().flatMap (entry -> {
136137 String clubName = entry .getKey ();
@@ -139,8 +140,8 @@ private List<ActivityReportListQuery> parseToListQuery(final List<ActivityReport
139140 return termMap .entrySet ().stream ().map (termEntry -> {
140141 String term = termEntry .getKey ();
141142 List <ActivityReportInfo > activityReportInfos = termEntry .getValue ().stream ()
142- .map (ActivityReportInfo ::new )
143- .toList ();
143+ .map (ActivityReportInfo ::new )
144+ .toList ();
144145 return ActivityReportListQuery .of (clubName , term , activityReportInfos );
145146 });
146147
0 commit comments