Skip to content

Commit

Permalink
[fix] 산책 완료 API 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
suhhyun524 committed Nov 27, 2023
1 parent cebf2a2 commit 2791f2b
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 21 deletions.
21 changes: 12 additions & 9 deletions src/main/java/sungdong29/backend/domain/walk/WalkController.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,15 @@
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import sungdong29.backend.domain.walk.dto.request.WalkRecordRequestDTO;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import sungdong29.backend.domain.walk.service.WalkService;
import sungdong29.backend.global.config.LoginUser;
import sungdong29.backend.global.config.user.UserDetails;

@Slf4j
@RestController
Expand All @@ -19,12 +23,11 @@ public class WalkController {
private final WalkService walkService;

@Operation(summary = "산책 기록 저장")
@PostMapping(value = "places/{placeId}/walk")
@GetMapping(value = "places/{placeId}/walk")
public ResponseEntity<Void> createWalkRecord(
@LoginUser Long userId,
@PathVariable Long placeId,
@RequestBody WalkRecordRequestDTO walkRecordRequestDTO) {
walkService.createWalkRecord(userId, placeId, walkRecordRequestDTO);
return ResponseEntity.ok().build();
@AuthenticationPrincipal UserDetails userDetails,
@PathVariable Long placeId) {
walkService.createWalkRecord(userDetails, placeId);
return ResponseEntity.status(HttpStatus.CREATED).build();
}
}
8 changes: 2 additions & 6 deletions src/main/java/sungdong29/backend/domain/walk/domain/Walk.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,16 @@ public class Walk {
@CreatedDate
private LocalDateTime createdAt;

private Integer steps;

@Builder
private Walk(User user, Place place, Integer steps) {
private Walk(User user, Place place) {
this.user=user;
this.place=place;
this.steps=steps;
}

public static Walk of(User user, Place place, Integer steps) {
public static Walk of(User user, Place place) {
return Walk.builder()
.user(user)
.place(place)
.steps(steps)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,23 @@
import sungdong29.backend.domain.place.domain.Place;
import sungdong29.backend.domain.place.repository.PlaceRepository;
import sungdong29.backend.domain.user.domain.User;
import sungdong29.backend.domain.user.repository.UserRepository;
import sungdong29.backend.domain.walk.domain.Walk;
import sungdong29.backend.domain.walk.dto.request.WalkRecordRequestDTO;
import sungdong29.backend.domain.walk.repository.WalkRepository;
import sungdong29.backend.global.config.user.UserDetails;

@Slf4j
@Service
@RequiredArgsConstructor
public class WalkService {
private final WalkRepository walkRepository;
private final UserRepository userRepository;
private final PlaceRepository placeRepository;

@Transactional
public void createWalkRecord(Long userId, Long placeId, WalkRecordRequestDTO walkRecordRequestDTO) {
User user = userRepository.findById(userId).orElseThrow();
public void createWalkRecord(UserDetails userDetails, Long placeId) {
User user = userDetails.getUser();
Place place = placeRepository.findById(placeId).orElseThrow();

Walk walk = Walk.of(user, place, walkRecordRequestDTO.getSteps());
Walk walk = Walk.of(user, place);
walkRepository.save(walk);
}
}

0 comments on commit 2791f2b

Please sign in to comment.