From 70fa53d44defc90d79bd4812783155941e5309f3 Mon Sep 17 00:00:00 2001 From: chaerlo127 Date: Tue, 5 Sep 2023 18:22:36 +0900 Subject: [PATCH 1/2] =?UTF-8?q?#160=20feat:=20=EB=A7=88=EC=9D=B4=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=95=8C=EB=A6=BC=20=EC=88=98=EC=8B=A0=20?= =?UTF-8?q?=EC=97=AC=EB=B6=80=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/psr/psr/user/controller/UserController.kt | 11 ++++++++++- .../com/psr/psr/user/dto/request/PostNotiReq.kt | 8 ++++++++ .../kotlin/com/psr/psr/user/service/UserService.kt | 7 +++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/main/kotlin/com/psr/psr/user/dto/request/PostNotiReq.kt diff --git a/src/main/kotlin/com/psr/psr/user/controller/UserController.kt b/src/main/kotlin/com/psr/psr/user/controller/UserController.kt index 5cdd2d0..8652f5f 100644 --- a/src/main/kotlin/com/psr/psr/user/controller/UserController.kt +++ b/src/main/kotlin/com/psr/psr/user/controller/UserController.kt @@ -179,6 +179,15 @@ class UserController( fun findPWSearch(@RequestBody @Validated findIdPwReq: FindIdPwReq): BaseResponse{ if(!StringUtils.hasText(findIdPwReq.email)) throw BaseException(BaseResponseCode.NOT_EMPTY_EMAIL) userService.findPWSearch(findIdPwReq) - return BaseResponse(BaseResponseCode.SUCCESS); + return BaseResponse(BaseResponseCode.SUCCESS) + } + + /** + * 마이페이지 알림 수신 여부 + */ + @PostMapping("/noti") + fun postNotiStatus(@AuthenticationPrincipal userAccount: UserAccount, @RequestBody @Validated postNotiReq: PostNotiReq): BaseResponse{ + userService.postNotiStatus(userAccount.getUser(), postNotiReq) + return BaseResponse(BaseResponseCode.SUCCESS) } } \ No newline at end of file diff --git a/src/main/kotlin/com/psr/psr/user/dto/request/PostNotiReq.kt b/src/main/kotlin/com/psr/psr/user/dto/request/PostNotiReq.kt new file mode 100644 index 0000000..11e379a --- /dev/null +++ b/src/main/kotlin/com/psr/psr/user/dto/request/PostNotiReq.kt @@ -0,0 +1,8 @@ +package com.psr.psr.user.dto.request + +import jakarta.validation.constraints.NotNull + +data class PostNotiReq( + @field:NotNull + val notification: Boolean +) diff --git a/src/main/kotlin/com/psr/psr/user/service/UserService.kt b/src/main/kotlin/com/psr/psr/user/service/UserService.kt index 50f0f4f..a8f34e5 100644 --- a/src/main/kotlin/com/psr/psr/user/service/UserService.kt +++ b/src/main/kotlin/com/psr/psr/user/service/UserService.kt @@ -318,6 +318,13 @@ class UserService( userRepository.findByEmailAndPhoneAndStatus(findIdPwReq.email!!, findIdPwReq.phone, ACTIVE_STATUS) ?: throw BaseException(NOT_FOUND_USER) } + // 마이페이지 알림 수신 여부 + @Transactional + fun postNotiStatus(user: User, postNotiReq: PostNotiReq){ + user.notification = postNotiReq.notification + userRepository.save(user) + } + // signature private fun makeSignature(time: Long): String { val message = StringBuilder() From ce9f017ae3ba50960f270cb2ba4350b78d0e97a4 Mon Sep 17 00:00:00 2001 From: chaerlo127 Date: Tue, 5 Sep 2023 18:37:31 +0900 Subject: [PATCH 2/2] =?UTF-8?q?#160=20fix:=20=EB=A7=88=EC=9D=B4=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=95=8C=EB=A6=BC=20=EC=88=98=EC=8B=A0=20?= =?UTF-8?q?=EC=97=AC=EB=B6=80=20API=20uri=20=EC=88=98=EC=A0=95=20=EB=B0=8F?= =?UTF-8?q?=20response=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/psr/psr/user/controller/UserController.kt | 7 +++---- .../com/psr/psr/user/dto/request/PostNotiReq.kt | 8 -------- .../com/psr/psr/user/dto/response/PostNotiRes.kt | 11 +++++++++++ .../kotlin/com/psr/psr/user/service/UserService.kt | 6 ++++-- 4 files changed, 18 insertions(+), 14 deletions(-) delete mode 100644 src/main/kotlin/com/psr/psr/user/dto/request/PostNotiReq.kt create mode 100644 src/main/kotlin/com/psr/psr/user/dto/response/PostNotiRes.kt diff --git a/src/main/kotlin/com/psr/psr/user/controller/UserController.kt b/src/main/kotlin/com/psr/psr/user/controller/UserController.kt index 8652f5f..bbb6206 100644 --- a/src/main/kotlin/com/psr/psr/user/controller/UserController.kt +++ b/src/main/kotlin/com/psr/psr/user/controller/UserController.kt @@ -185,9 +185,8 @@ class UserController( /** * 마이페이지 알림 수신 여부 */ - @PostMapping("/noti") - fun postNotiStatus(@AuthenticationPrincipal userAccount: UserAccount, @RequestBody @Validated postNotiReq: PostNotiReq): BaseResponse{ - userService.postNotiStatus(userAccount.getUser(), postNotiReq) - return BaseResponse(BaseResponseCode.SUCCESS) + @PostMapping("/notification") + fun postNotiStatus(@AuthenticationPrincipal userAccount: UserAccount): BaseResponse{ + return BaseResponse(userService.postNotiStatus(userAccount.getUser())) } } \ No newline at end of file diff --git a/src/main/kotlin/com/psr/psr/user/dto/request/PostNotiReq.kt b/src/main/kotlin/com/psr/psr/user/dto/request/PostNotiReq.kt deleted file mode 100644 index 11e379a..0000000 --- a/src/main/kotlin/com/psr/psr/user/dto/request/PostNotiReq.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.psr.psr.user.dto.request - -import jakarta.validation.constraints.NotNull - -data class PostNotiReq( - @field:NotNull - val notification: Boolean -) diff --git a/src/main/kotlin/com/psr/psr/user/dto/response/PostNotiRes.kt b/src/main/kotlin/com/psr/psr/user/dto/response/PostNotiRes.kt new file mode 100644 index 0000000..af6d780 --- /dev/null +++ b/src/main/kotlin/com/psr/psr/user/dto/response/PostNotiRes.kt @@ -0,0 +1,11 @@ +package com.psr.psr.user.dto.response + +data class PostNotiRes( + val notification: Boolean +){ + companion object { + fun toDto(notification: Boolean) : PostNotiRes{ + return PostNotiRes(notification) + } + } +} diff --git a/src/main/kotlin/com/psr/psr/user/service/UserService.kt b/src/main/kotlin/com/psr/psr/user/service/UserService.kt index a8f34e5..9a10ed8 100644 --- a/src/main/kotlin/com/psr/psr/user/service/UserService.kt +++ b/src/main/kotlin/com/psr/psr/user/service/UserService.kt @@ -26,6 +26,7 @@ import com.psr.psr.user.dto.eidReq.BusinessListRes import com.psr.psr.user.dto.request.* import com.psr.psr.user.dto.response.EmailRes import com.psr.psr.user.dto.response.MyPageInfoRes +import com.psr.psr.user.dto.response.PostNotiRes import com.psr.psr.user.dto.response.ProfileRes import com.psr.psr.user.entity.Category import com.psr.psr.user.entity.Type @@ -320,9 +321,10 @@ class UserService( // 마이페이지 알림 수신 여부 @Transactional - fun postNotiStatus(user: User, postNotiReq: PostNotiReq){ - user.notification = postNotiReq.notification + fun postNotiStatus(user: User) : PostNotiRes{ + user.notification = !user.notification userRepository.save(user) + return PostNotiRes.toDto(user.notification) } // signature