Skip to content

Commit

Permalink
[feat] create get user's university api
Browse files Browse the repository at this point in the history
  • Loading branch information
Parkjyun committed Jul 10, 2024
1 parent be50846 commit 2b7efe5
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,17 @@
public class UserController {

private final UserCommandService userCommandService;
private final UserQueryService userQueryService;

@PostMapping("/users/me/university")
public HankkiResponse<Void> postUserUniversity(@UserId final Long userId,
@Valid @RequestBody final UserUniversityPostRequest request) {
userCommandService.saveUserUniversity(new UserUniversityPostCommand(userId, request));
return HankkiResponse.success(CommonSuccessCode.CREATED);
}

@GetMapping("/users/me/university")
public HankkiResponse<UserUniversityFindResponse> findUserUniversity(@UserId final Long userId) {
return HankkiResponse.success(CommonSuccessCode.OK, userQueryService.findUserUniversity(userId));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package org.hankki.hankkiserver.api.user.service;

import lombok.RequiredArgsConstructor;
import org.hankki.hankkiserver.api.user.service.response.UserUniversityFindResponse;
import org.hankki.hankkiserver.common.code.UserUniversityErrorCode;
import org.hankki.hankkiserver.common.exception.NotFoundException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@RequiredArgsConstructor
public class UserQueryService {

private final UserUniversityFinder userUniversityFinder;

@Transactional(readOnly = true)
public UserUniversityFindResponse findUserUniversity(Long userId) {
return UserUniversityFindResponse.of(userUniversityFinder.findByUserId(userId)
.orElseThrow(() -> new NotFoundException(UserUniversityErrorCode.USER_UNIVERSITY_NOT_FOUND)));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.hankki.hankkiserver.api.user.service.response;

import org.hankki.hankkiserver.domain.user.model.UserUniversity;

public record UserUniversityFindResponse(long id,
String name,
double longitude,
double latitude) {
public static UserUniversityFindResponse of (UserUniversity userUniversity) {
return new UserUniversityFindResponse(userUniversity.getUniversityId(), userUniversity.getUniversityName(),
userUniversity.getLongitude(), userUniversity.getLatitude());
}
}

0 comments on commit 2b7efe5

Please sign in to comment.