From 13f7ff9134c87cf63166bbba1b1e231b6d48bf8a Mon Sep 17 00:00:00 2001 From: JuuuuHong Date: Fri, 27 Oct 2023 15:37:20 +0900 Subject: [PATCH 1/4] =?UTF-8?q?update=20::=20=EC=B1=84=EC=A0=90=ED=95=A0?= =?UTF-8?q?=20=EB=AC=B8=EC=A0=9C=20=EC=A0=84=EC=B2=B4=20=EC=A1=B0=ED=9A=8C?= =?UTF-8?q?=20user=20response?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../application/spi/QueryMissionPort.kt | 5 ++--- .../persistence/MissionPersistenceAdapter.kt | 5 ++--- .../repository/MissionJpaRepository.kt | 5 ++--- .../usecase/QueryScoringPageUseCase.kt | 21 +++++++++++-------- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/kotlin/com/stack/knowledge/domain/mission/application/spi/QueryMissionPort.kt b/src/main/kotlin/com/stack/knowledge/domain/mission/application/spi/QueryMissionPort.kt index b62aadd5..98d482c6 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/mission/application/spi/QueryMissionPort.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/mission/application/spi/QueryMissionPort.kt @@ -2,11 +2,10 @@ package com.stack.knowledge.domain.mission.application.spi import com.stack.knowledge.domain.mission.domain.Mission import com.stack.knowledge.domain.mission.domain.constant.MissionStatus -import com.stack.knowledge.domain.user.domain.User -import java.util.UUID +import java.util.* interface QueryMissionPort { fun queryMissionById(missionId: UUID): Mission? - fun queryAllMissionByUser(user: User): List + fun queryAllMissionByUserId(userId: UUID): List fun queryAllMissionByMissionStatus(missionStatus: MissionStatus): List } \ No newline at end of file diff --git a/src/main/kotlin/com/stack/knowledge/domain/mission/persistence/MissionPersistenceAdapter.kt b/src/main/kotlin/com/stack/knowledge/domain/mission/persistence/MissionPersistenceAdapter.kt index d8612525..9331283d 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/mission/persistence/MissionPersistenceAdapter.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/mission/persistence/MissionPersistenceAdapter.kt @@ -5,7 +5,6 @@ import com.stack.knowledge.domain.mission.domain.Mission import com.stack.knowledge.domain.mission.domain.constant.MissionStatus import com.stack.knowledge.domain.mission.persistence.mapper.MissionMapper import com.stack.knowledge.domain.mission.persistence.repository.MissionJpaRepository -import com.stack.knowledge.domain.user.domain.User import com.stack.knowledge.domain.user.persistence.mapper.UserMapper import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Component @@ -24,8 +23,8 @@ class MissionPersistenceAdapter( override fun queryMissionById(missionId: UUID): Mission? = missionMapper.toDomain(missionJpaRepository.findByIdOrNull(missionId)) - override fun queryAllMissionByUser(user: User): List = - missionJpaRepository.findAllByUser(userMapper.toEntity(user)).map { missionMapper.toDomain(it)!! } + override fun queryAllMissionByUserId(userId: UUID): List = + missionJpaRepository.findAllByUserId(userId).map { missionMapper.toDomain(it)!! } override fun queryAllMissionByMissionStatus(missionStatus: MissionStatus): List = missionJpaRepository.findByMissionStatus(missionStatus).map { missionMapper.toDomain(it)!! } diff --git a/src/main/kotlin/com/stack/knowledge/domain/mission/persistence/repository/MissionJpaRepository.kt b/src/main/kotlin/com/stack/knowledge/domain/mission/persistence/repository/MissionJpaRepository.kt index 332ec8a4..f5a3dbdf 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/mission/persistence/repository/MissionJpaRepository.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/mission/persistence/repository/MissionJpaRepository.kt @@ -2,11 +2,10 @@ package com.stack.knowledge.domain.mission.persistence.repository import com.stack.knowledge.domain.mission.domain.constant.MissionStatus import com.stack.knowledge.domain.mission.persistence.entity.MissionJpaEntity -import com.stack.knowledge.domain.user.persistence.entity.UserJpaEntity import org.springframework.data.repository.CrudRepository -import java.util.UUID +import java.util.* interface MissionJpaRepository : CrudRepository { - fun findAllByUser(userJpaEntity: UserJpaEntity): List + fun findAllByUserId(userId: UUID): List fun findByMissionStatus(missionStatus: MissionStatus): List } \ No newline at end of file diff --git a/src/main/kotlin/com/stack/knowledge/domain/user/application/usecase/QueryScoringPageUseCase.kt b/src/main/kotlin/com/stack/knowledge/domain/user/application/usecase/QueryScoringPageUseCase.kt index 38ce6ec8..589cdd62 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/user/application/usecase/QueryScoringPageUseCase.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/user/application/usecase/QueryScoringPageUseCase.kt @@ -1,16 +1,18 @@ package com.stack.knowledge.domain.user.application.usecase -import com.stack.knowledge.domain.solve.application.spi.QuerySolvePort -import com.stack.knowledge.domain.user.presentation.data.response.AllScoringResponse import com.stack.knowledge.common.annotation.usecase.ReadOnlyUseCase import com.stack.knowledge.common.spi.SecurityPort import com.stack.knowledge.domain.mission.application.spi.QueryMissionPort import com.stack.knowledge.domain.mission.exception.MissionNotFoundException -import com.stack.knowledge.domain.solve.domain.constant.SolveStatus import com.stack.knowledge.domain.point.application.spi.QueryPointPort import com.stack.knowledge.domain.point.exception.PointNotFoundException +import com.stack.knowledge.domain.solve.application.spi.QuerySolvePort +import com.stack.knowledge.domain.solve.domain.constant.SolveStatus +import com.stack.knowledge.domain.student.application.spi.QueryStudentPort +import com.stack.knowledge.domain.student.exception.StudentNotFoundException import com.stack.knowledge.domain.user.application.spi.QueryUserPort import com.stack.knowledge.domain.user.exception.UserNotFoundException +import com.stack.knowledge.domain.user.presentation.data.response.AllScoringResponse import com.stack.knowledge.domain.user.presentation.data.response.UserResponse @ReadOnlyUseCase @@ -19,17 +21,18 @@ class QueryScoringPageUseCase( private val queryUserPort: QueryUserPort, private val queryPointPort: QueryPointPort, private val queryMissionPort: QueryMissionPort, - private val securityPort: SecurityPort + private val securityPort: SecurityPort, + private val queryStudentPort: QueryStudentPort ) { fun execute(): List { - val user = securityPort.queryCurrentUserId().let { - queryUserPort.queryUserById(it) ?: throw UserNotFoundException() - } + val userId = securityPort.queryCurrentUserId() - return queryMissionPort.queryAllMissionByUser(user).flatMap { + return queryMissionPort.queryAllMissionByUserId(userId).flatMap { querySolvePort.queryAllSolveBySolveStatusAndMission(SolveStatus.SCORING, it).map { solve -> val point = queryPointPort.queryPointBySolve(solve) ?: throw PointNotFoundException() val mission = queryMissionPort.queryMissionById(solve.mission) ?: throw MissionNotFoundException() + val student = queryStudentPort.queryStudentById(solve.student) ?: throw StudentNotFoundException() + val user = queryUserPort.queryUserById(student.user) ?: throw UserNotFoundException() AllScoringResponse( solveId = solve.id, @@ -37,7 +40,7 @@ class QueryScoringPageUseCase( title = mission.title, point = point.missionPoint, user = UserResponse( - id = user.id, + id = mission.id, email = user.email, name = user.name, profileImage = user.profileImage From d1e92d7d67e94e6d289dcd2123b0a6005ce83211 Mon Sep 17 00:00:00 2001 From: JuuuuHong Date: Fri, 27 Oct 2023 15:46:02 +0900 Subject: [PATCH 2/4] =?UTF-8?q?delete=20::=20=EC=82=AC=EC=9A=A9=ED=95=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8A=94=20jpa=20method=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/solve/application/spi/QuerySolvePort.kt | 1 - .../domain/solve/persistence/SolvePersistenceAdapter.kt | 3 --- .../solve/persistence/repository/SolveJpaRepository.kt | 1 - .../domain/user/persistence/repository/UserJpaRepository.kt | 6 +++--- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/com/stack/knowledge/domain/solve/application/spi/QuerySolvePort.kt b/src/main/kotlin/com/stack/knowledge/domain/solve/application/spi/QuerySolvePort.kt index 570eba07..4a1942ce 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/solve/application/spi/QuerySolvePort.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/solve/application/spi/QuerySolvePort.kt @@ -8,6 +8,5 @@ import java.util.UUID interface QuerySolvePort { fun queryAllSolveBySolveStatusAndMission(solveStatus: SolveStatus, mission: Mission): List fun querySolveById(solveId: UUID): Solve? - fun queryAllSolveByMission(mission: Mission): List fun queryAllSolveByStudentId(studentId: UUID): List } \ No newline at end of file diff --git a/src/main/kotlin/com/stack/knowledge/domain/solve/persistence/SolvePersistenceAdapter.kt b/src/main/kotlin/com/stack/knowledge/domain/solve/persistence/SolvePersistenceAdapter.kt index 3275b883..82f96263 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/solve/persistence/SolvePersistenceAdapter.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/solve/persistence/SolvePersistenceAdapter.kt @@ -26,9 +26,6 @@ class SolvePersistenceAdapter( override fun querySolveById(solveId: UUID): Solve? = solveMapper.toDomain(solveJpaRepository.findByIdOrNull(solveId)) - override fun queryAllSolveByMission(mission: Mission): List = - solveJpaRepository.findAllByMission(missionMapper.toEntity(mission)).map { solveMapper.toDomain(it)!! } - override fun queryAllSolveByStudentId(studentId: UUID): List = solveJpaRepository.findAllByStudentId(studentId).map { solveMapper.toDomain(it)!! } diff --git a/src/main/kotlin/com/stack/knowledge/domain/solve/persistence/repository/SolveJpaRepository.kt b/src/main/kotlin/com/stack/knowledge/domain/solve/persistence/repository/SolveJpaRepository.kt index 831e6ab7..6db09d5d 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/solve/persistence/repository/SolveJpaRepository.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/solve/persistence/repository/SolveJpaRepository.kt @@ -7,7 +7,6 @@ import org.springframework.data.repository.CrudRepository import java.util.UUID interface SolveJpaRepository : CrudRepository { - fun findAllByMission(missionJpaEntity: MissionJpaEntity): List fun findAllBySolveStatusAndMission(solveStatus: SolveStatus, missionJpaEntity: MissionJpaEntity): List fun findAllByStudentId(studentId: UUID): List } \ No newline at end of file diff --git a/src/main/kotlin/com/stack/knowledge/domain/user/persistence/repository/UserJpaRepository.kt b/src/main/kotlin/com/stack/knowledge/domain/user/persistence/repository/UserJpaRepository.kt index aeea97bc..811e86d8 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/user/persistence/repository/UserJpaRepository.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/user/persistence/repository/UserJpaRepository.kt @@ -1,10 +1,10 @@ package com.stack.knowledge.domain.user.persistence.repository import com.stack.knowledge.domain.user.persistence.entity.UserJpaEntity -import org.springframework.data.jpa.repository.JpaRepository -import java.util.UUID +import org.springframework.data.repository.CrudRepository +import java.util.* -interface UserJpaRepository : JpaRepository { +interface UserJpaRepository : CrudRepository { fun findByEmail(email: String): UserJpaEntity? fun existsByEmail(email: String): Boolean } \ No newline at end of file From 9d3bb5553d08ac91c6ded672b67508969690e5aa Mon Sep 17 00:00:00 2001 From: JuuuuHong Date: Fri, 27 Oct 2023 15:47:43 +0900 Subject: [PATCH 3/4] delete :: kotest gradle --- build.gradle.kts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 619b33f1..cd8d5b2c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -53,10 +53,6 @@ dependencies { // test testImplementation("org.springframework.boot:spring-boot-starter-test") - testImplementation("io.kotest:kotest-runner-junit5-jvm:4.4.3") - testImplementation("io.kotest:kotest-assertions-core-jvm:4.4.3") - implementation("io.kotest:kotest-extensions-spring:4.4.3") - testImplementation("io.mockk:mockk:1.12.0") } tasks.withType { From 5cf17bb210dae4774103a9264d38fa1d3e37d5f2 Mon Sep 17 00:00:00 2001 From: JuuuuHong Date: Fri, 27 Oct 2023 15:50:23 +0900 Subject: [PATCH 4/4] update :: user Id --- .../domain/user/application/usecase/QueryScoringPageUseCase.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/com/stack/knowledge/domain/user/application/usecase/QueryScoringPageUseCase.kt b/src/main/kotlin/com/stack/knowledge/domain/user/application/usecase/QueryScoringPageUseCase.kt index 589cdd62..83a27fa3 100644 --- a/src/main/kotlin/com/stack/knowledge/domain/user/application/usecase/QueryScoringPageUseCase.kt +++ b/src/main/kotlin/com/stack/knowledge/domain/user/application/usecase/QueryScoringPageUseCase.kt @@ -40,7 +40,7 @@ class QueryScoringPageUseCase( title = mission.title, point = point.missionPoint, user = UserResponse( - id = mission.id, + id = user.id, email = user.email, name = user.name, profileImage = user.profileImage