Skip to content

Commit a0e722a

Browse files
authored
Merge pull request #146 from YAPP-Github/refactor/PRODUCT-120
[Refactor] API 요청 당 트랜잭션 범위 개선
2 parents 2cb396d + 0d23c82 commit a0e722a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+556
-323
lines changed

src/main/java/eatda/client/map/MapClient.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public MapClient(RestClient.Builder restClient, KakaoProperties properties) {
2121
this.kakaoProperties = properties;
2222
}
2323

24-
public List<StoreSearchResult> searchShops(String query) {
24+
public List<MapClientStoreSearchResult> searchStores(String query) {
2525
return restClient.get()
2626
.uri("https://dapi.kakao.com/v2/local/search/keyword.json", builder -> builder
2727
.queryParam("query", query)
@@ -35,7 +35,7 @@ public List<StoreSearchResult> searchShops(String query) {
3535
.build())
3636
.header("Authorization", "KakaoAK " + kakaoProperties.getApiKey())
3737
.retrieve()
38-
.body(StoreSearchResults.class)
38+
.body(MapClientStoreSearchResults.class)
3939
.results();
4040
}
4141
}

src/main/java/eatda/client/map/StoreSearchResult.java renamed to src/main/java/eatda/client/map/MapClientStoreSearchResult.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
import com.fasterxml.jackson.annotation.JsonProperty;
55
import eatda.domain.store.Store;
66
import eatda.domain.store.StoreCategory;
7+
import eatda.domain.store.StoreSearchResult;
78
import java.util.Map;
89

910
@JsonIgnoreProperties(ignoreUnknown = true)
10-
public record StoreSearchResult(
11+
public record MapClientStoreSearchResult(
1112
@JsonProperty("id") String kakaoId,
1213
@JsonProperty("category_group_code") String categoryGroupCode,
1314
@JsonProperty("category_name") String categoryName,
@@ -66,4 +67,18 @@ public Store toStore() {
6667
.longitude(longitude)
6768
.build();
6869
}
70+
71+
public StoreSearchResult toDomain() {
72+
return new StoreSearchResult(
73+
kakaoId,
74+
getStoreCategory(),
75+
phoneNumber,
76+
name,
77+
placeUrl,
78+
lotNumberAddress,
79+
roadAddress,
80+
latitude,
81+
longitude
82+
);
83+
}
6984
}

src/main/java/eatda/client/map/StoreSearchResults.java renamed to src/main/java/eatda/client/map/MapClientStoreSearchResults.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
import java.util.List;
66

77
@JsonIgnoreProperties(ignoreUnknown = true)
8-
public record StoreSearchResults(@JsonProperty("documents") List<StoreSearchResult> results) {
8+
public record MapClientStoreSearchResults(@JsonProperty("documents") List<MapClientStoreSearchResult> results) {
99
}

src/main/java/eatda/controller/auth/AuthController.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package eatda.controller.auth;
22

3+
import eatda.client.oauth.OauthMemberInformation;
34
import eatda.controller.member.MemberResponse;
45
import eatda.controller.web.jwt.JwtManager;
56
import eatda.service.auth.AuthService;
7+
import eatda.service.auth.OauthService;
68
import java.net.URI;
79
import lombok.RequiredArgsConstructor;
810
import org.springframework.http.HttpHeaders;
@@ -18,12 +20,13 @@
1820
@RequiredArgsConstructor
1921
public class AuthController {
2022

21-
private final JwtManager jwtManager;
2223
private final AuthService authService;
24+
private final OauthService oauthService;
25+
private final JwtManager jwtManager;
2326

2427
@GetMapping("/api/auth/login/oauth")
2528
public ResponseEntity<Void> redirectOauthLoginPage(@RequestHeader(HttpHeaders.REFERER) String origin) {
26-
URI oauthLoginUrl = authService.getOauthLoginUrl(origin);
29+
URI oauthLoginUrl = oauthService.getOauthLoginUrl(origin);
2730

2831
return ResponseEntity
2932
.status(HttpStatus.FOUND)
@@ -33,7 +36,9 @@ public ResponseEntity<Void> redirectOauthLoginPage(@RequestHeader(HttpHeaders.RE
3336

3437
@PostMapping("/api/auth/login")
3538
public ResponseEntity<LoginResponse> login(@RequestBody LoginRequest request) {
36-
MemberResponse member = authService.login(request);
39+
OauthMemberInformation oauthInformation = oauthService.getOAuthInformation(request.code(), request.origin());
40+
MemberResponse member = authService.login(oauthInformation);
41+
3742
TokenResponse token = new TokenResponse(
3843
jwtManager.issueAccessToken(member.id()),
3944
jwtManager.issueRefreshToken(member.id()));

src/main/java/eatda/controller/store/CheerController.java renamed to src/main/java/eatda/controller/cheer/CheerController.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
package eatda.controller.store;
1+
package eatda.controller.cheer;
22

33
import eatda.controller.web.auth.LoginMember;
4-
import eatda.service.store.CheerService;
4+
import eatda.domain.ImageDomain;
5+
import eatda.domain.ImageKey;
6+
import eatda.domain.store.StoreSearchResult;
7+
import eatda.service.cheer.CheerService;
8+
import eatda.service.image.ImageService;
9+
import eatda.service.store.StoreSearchService;
510
import jakarta.validation.constraints.Max;
611
import jakarta.validation.constraints.Min;
712
import lombok.RequiredArgsConstructor;
@@ -20,12 +25,17 @@
2025
public class CheerController {
2126

2227
private final CheerService cheerService;
28+
private final ImageService imageService;
29+
private final StoreSearchService storeSearchService;
2330

2431
@PostMapping("/api/cheer")
2532
public ResponseEntity<CheerResponse> registerCheer(@RequestPart("request") CheerRegisterRequest request,
2633
@RequestPart(value = "image", required = false) MultipartFile image,
2734
LoginMember member) {
28-
CheerResponse response = cheerService.registerCheer(request, image, member.id());
35+
ImageKey imageKey = imageService.uploadImage(ImageDomain.CHEER, image);
36+
StoreSearchResult searchResult = storeSearchService.searchStoreByKakaoId(
37+
request.storeName(), request.storeKakaoId());
38+
CheerResponse response = cheerService.registerCheer(request, searchResult, imageKey, member.id());
2939
return ResponseEntity.status(HttpStatus.CREATED)
3040
.body(response);
3141
}

src/main/java/eatda/controller/store/CheerInStoreResponse.java renamed to src/main/java/eatda/controller/cheer/CheerInStoreResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package eatda.controller.store;
1+
package eatda.controller.cheer;
22

3-
import eatda.domain.store.Cheer;
3+
import eatda.domain.cheer.Cheer;
44

55
public record CheerInStoreResponse(
66
long id,

src/main/java/eatda/controller/store/CheerPreviewResponse.java renamed to src/main/java/eatda/controller/cheer/CheerPreviewResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package eatda.controller.store;
1+
package eatda.controller.cheer;
22

3-
import eatda.domain.store.Cheer;
3+
import eatda.domain.cheer.Cheer;
44
import eatda.domain.store.Store;
55

66
public record CheerPreviewResponse(

src/main/java/eatda/controller/store/CheerRegisterRequest.java renamed to src/main/java/eatda/controller/cheer/CheerRegisterRequest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package eatda.controller.store;
1+
package eatda.controller.cheer;
22

33
public record CheerRegisterRequest(
44
String storeKakaoId,

src/main/java/eatda/controller/store/CheerResponse.java renamed to src/main/java/eatda/controller/cheer/CheerResponse.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
package eatda.controller.store;
1+
package eatda.controller.cheer;
22

3-
import eatda.domain.store.Cheer;
3+
import eatda.domain.cheer.Cheer;
44
import eatda.domain.store.Store;
55

66
public record CheerResponse(

src/main/java/eatda/controller/store/CheersInStoreResponse.java renamed to src/main/java/eatda/controller/cheer/CheersInStoreResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package eatda.controller.store;
1+
package eatda.controller.cheer;
22

33
import java.util.List;
44

0 commit comments

Comments
 (0)