From a3e0a3d6e95e79be452eacce928d02db7e2f4040 Mon Sep 17 00:00:00 2001 From: hoon7566 Date: Wed, 16 Mar 2022 19:50:43 +0900 Subject: [PATCH] =?UTF-8?q?fix(customer-vue):=20mypage=20=EA=B0=9C?= =?UTF-8?q?=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - customer mypage 개발 --- customer-vue/src/api/user.js | 3 + .../src/components/BottomNavigation.vue | 9 +- customer-vue/src/router/router.js | 15 ++++ customer-vue/src/views/MyPage.vue | 88 +++++++++++++++++++ .../userservice/domain/user/dto/UserDto.java | 1 + .../domain/user/web/UserController.java | 27 ++++++ 6 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 customer-vue/src/views/MyPage.vue diff --git a/customer-vue/src/api/user.js b/customer-vue/src/api/user.js index 7eb0b07..c366a01 100644 --- a/customer-vue/src/api/user.js +++ b/customer-vue/src/api/user.js @@ -5,6 +5,9 @@ export default { requestRegisterUser(user) { return axios.post(process.env.VUE_APP_CUSTOMER_SERVICE_BASEURL+"/user-service/store-owner", user); }, + geUserData() { + return axios.get(process.env.VUE_APP_CUSTOMER_SERVICE_BASEURL+"/user-service/customer/", ); + }, async requestLoginUser(email, password) { const user = { diff --git a/customer-vue/src/components/BottomNavigation.vue b/customer-vue/src/components/BottomNavigation.vue index b1fb176..f1b4432 100644 --- a/customer-vue/src/components/BottomNavigation.vue +++ b/customer-vue/src/components/BottomNavigation.vue @@ -24,7 +24,7 @@ export default { {name: "검색", url: "/search", icon: "mdi-magnify"}, {name: "즐겨찾기", url: "/favorite", icon: "mdi-cards-heart-outline"}, {name: "주문내역", url: "/history", icon: "mdi-clipboard-check-outline"}, - {name: "마이페이지", url: "/", icon: "mdi-account-outline"} + {name: "마이페이지", url: "/mypage", icon: "mdi-account-outline"} ] } }, @@ -33,6 +33,13 @@ export default { this.value = index; this.$router.push(url); } + },mounted() { + const path =this.$route.path + this.links.forEach((link, index) => { + if(link.url === path){ + this.value = index + } + }) } } diff --git a/customer-vue/src/router/router.js b/customer-vue/src/router/router.js index a3afd88..ba0585d 100644 --- a/customer-vue/src/router/router.js +++ b/customer-vue/src/router/router.js @@ -37,44 +37,58 @@ const routes = [ children: [ { path: "/home", + beforeEnter: authCheck, name: 'home', component: () => import('../views/HomeView') }, { path: "/search", + beforeEnter: authCheck, name: 'search-store', component: () => import('../views/SearchStore') }, { path: "/history", + beforeEnter: authCheck, name: 'order-history', component: () => import('../views/OrderHistory') }, { path: "/favorite", + beforeEnter: authCheck, name: 'favorite-store', component: () => import('../views/FavoriteStore') }, { path: "/notification", + beforeEnter: authCheck, name: 'notification', component: () => import('../views/NotificationView') }, { path: '/login', + beforeEnter: authCheck, name: 'login', component: () => import('../views/LoginPage') }, { path: "/item/:itemId", + beforeEnter: authCheck, name: 'itemDetail', component: () => import('../views/ItemDetail') }, { path: "/order", + beforeEnter: authCheck, name: 'orderPage', component: () => import('../views/OrderPage') }, + { + path: "/mypage", + beforeEnter: authCheck, + name: 'myPage', + component: () => import('../views/MyPage') + }, ] }, { @@ -86,6 +100,7 @@ const routes = [ { path: "/store/:storeId", name: "store", + beforeEnter: authCheck, component: () => import('../views/StoreView'), props: true }, diff --git a/customer-vue/src/views/MyPage.vue b/customer-vue/src/views/MyPage.vue new file mode 100644 index 0000000..268d115 --- /dev/null +++ b/customer-vue/src/views/MyPage.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/user-service/src/main/java/com/justpickup/userservice/domain/user/dto/UserDto.java b/user-service/src/main/java/com/justpickup/userservice/domain/user/dto/UserDto.java index f3aa62e..dbb65d9 100644 --- a/user-service/src/main/java/com/justpickup/userservice/domain/user/dto/UserDto.java +++ b/user-service/src/main/java/com/justpickup/userservice/domain/user/dto/UserDto.java @@ -16,6 +16,7 @@ public abstract class UserDto { // == 생성 메소드 == // public UserDto(Customer customer) { this.id = customer.getId(); + this.email = customer.getEmail(); this.password = customer.getPassword(); this.name = customer.getName(); this.phoneNumber = customer.getPhoneNumber(); diff --git a/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java b/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java index 377a1bb..1525635 100644 --- a/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java +++ b/user-service/src/main/java/com/justpickup/userservice/domain/user/web/UserController.java @@ -24,6 +24,33 @@ public class UserController { private final UserService userService; + @GetMapping("/customer/") + public ResponseEntity getCustomerByToken(@Valid @RequestHeader(value = "user-id") String userId ) { + + CustomerDto customerDto = userService.findCustomerByUserId(Long.parseLong(userId)); + + GetCustomerByTokenResponse getCustomerByTokenResponse = new GetCustomerByTokenResponse(customerDto); + + return ResponseEntity.status(HttpStatus.OK) + .body(Result.createSuccessResult(getCustomerByTokenResponse)); + } + + @Data @NoArgsConstructor @AllArgsConstructor + static class GetCustomerByTokenResponse { + private Long userId; + private String email; + private String userName; + private String phoneNumber; + + public GetCustomerByTokenResponse(CustomerDto customerDto) { + this.userId = customerDto.getId(); + this.email = customerDto.getEmail(); + this.userName = customerDto.getName(); + this.phoneNumber = customerDto.getPhoneNumber(); + } + } + + @GetMapping("/customer/{userId}") public ResponseEntity getCustomer(@Valid @PathVariable("userId") Long userId) {