Skip to content

Commit

Permalink
Merge pull request #36 from ThisIsComedy/feat/#33
Browse files Browse the repository at this point in the history
잔디 가져오기 응답 형식 변경
  • Loading branch information
hw9402 authored Nov 27, 2023
2 parents 04c2fe0 + 656b8a8 commit 8b7efd5
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response.GrassGetResponse;
import thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response.UserSmokedAtResponse;
import thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response.SmokeCauseResponse;
import thisiscomedy.nodamnodam.server.domain.smoke.repository.SmokeRepository;
import thisiscomedy.nodamnodam.server.domain.user.application.UserGetService;
Expand All @@ -17,12 +18,17 @@ public class SmokeGetService {
private final SmokeRepository smokeRepository;
private final UserGetService userGetService;

public List<GrassGetResponse> getGrass() {
public GrassGetResponse getGrass() {
User user = userGetService.getUser();

return smokeRepository.findByUser(user).stream()
.map(GrassGetResponse::new)
List<UserSmokedAtResponse> smoked = smokeRepository.findByUser(user).stream()
.map(UserSmokedAtResponse::new)
.toList();

return new GrassGetResponse(
user.getCreatedAt(),
smoked
);
}

public SmokeCauseResponse getCauseStats() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.request.SmokeRequest;
import thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response.GrassGetResponse;

import java.util.List;

@RestController
@RequestMapping("/api/smoke")
@RequiredArgsConstructor
Expand All @@ -19,7 +17,7 @@ public class SmokeController {
private final SmokeSaveService smokeSaveService;

@GetMapping
public ResponseEntity<List<GrassGetResponse>> getGrass() {
public ResponseEntity<GrassGetResponse> getGrass() {
return ResponseEntity.ok(smokeGetService.getGrass());
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
package thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response;

import lombok.Getter;
import thisiscomedy.nodamnodam.server.domain.smoke.domain.Smoke;

import java.time.LocalDate;
import java.util.List;

@Getter
public class GrassGetResponse {

private final LocalDate at;

public GrassGetResponse(Smoke smoke) {
this.at = smoke.getCreatedAt();
}
}
public record GrassGetResponse(
LocalDate userCreatedAt,
List<UserSmokedAtResponse> userSmokedAtResponses
) {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response;

import thisiscomedy.nodamnodam.server.domain.smoke.domain.Smoke;

import java.time.LocalDate;

public record UserSmokedAtResponse(
LocalDate at
) {
public UserSmokedAtResponse(Smoke smoke) {
this(smoke.getCreatedAt());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,13 @@ public StatsResponse getDetails() {
.map(StatsGetDetailsResponse::new)
.orElse(null);

List<GrassGetResponse> grassGetResponse = smokeGetService.getGrass();
GrassGetResponse userSmokedAtResponse = smokeGetService.getGrass();

SmokeCauseResponse smokeCauseResponse = smokeGetService.getCauseStats();

return new StatsResponse(
detailsResponse,
grassGetResponse,
userSmokedAtResponse.userSmokedAtResponses(),
smokeCauseResponse
);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package thisiscomedy.nodamnodam.server.domain.stats.presentation.dto.response;

import thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response.GrassGetResponse;
import thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response.UserSmokedAtResponse;
import thisiscomedy.nodamnodam.server.domain.smoke.presentation.dto.response.SmokeCauseResponse;

import java.util.List;

public record StatsResponse(
StatsGetDetailsResponse response,
List<GrassGetResponse> grass,
List<UserSmokedAtResponse> grass,
SmokeCauseResponse smokeCause
) {
}

0 comments on commit 8b7efd5

Please sign in to comment.