Skip to content

Commit

Permalink
refactor: GradingStandardType 복구
Browse files Browse the repository at this point in the history
  • Loading branch information
ekzm8523 committed Dec 29, 2023
1 parent c32cab1 commit 50bcd6b
Show file tree
Hide file tree
Showing 13 changed files with 14 additions and 29 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package io.csbroker.apiserver.common.enums

enum class GradingStandardType {
KEYWORD, CONTENT
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.csbroker.apiserver.dto.problem.grade

import com.fasterxml.jackson.annotation.JsonProperty
import io.csbroker.apiserver.common.enums.GradingStandardType
import io.csbroker.apiserver.model.LongProblem

data class KeywordGradingRequestDto(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.csbroker.apiserver.dto.problem.grade

import com.fasterxml.jackson.annotation.JsonProperty
import io.csbroker.apiserver.common.enums.GradingStandardType
import io.csbroker.apiserver.model.LongProblem

data class LongProblemGradingRequestToAiServerDto(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.csbroker.apiserver.dto.problem.longproblem

import io.csbroker.apiserver.common.enums.GradingStandardType
import io.csbroker.apiserver.model.GradingStandard
import io.csbroker.apiserver.model.LongProblem
import io.csbroker.apiserver.model.User
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.csbroker.apiserver.dto.user

import io.csbroker.apiserver.common.enums.GradingStandardType
import io.csbroker.apiserver.model.GradingStandard

data class GradingStandardResponseDto(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.csbroker.apiserver.dto.useranswer

import io.csbroker.apiserver.common.enums.GradingStandardType
import io.csbroker.apiserver.dto.user.GradingStandardResponseDto
import io.csbroker.apiserver.model.UserAnswer

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.csbroker.apiserver.model

import io.csbroker.apiserver.common.enums.GradingStandardType
import jakarta.persistence.CascadeType
import jakarta.persistence.Column
import jakarta.persistence.Entity
Expand Down
1 change: 1 addition & 0 deletions src/main/kotlin/io/csbroker/apiserver/model/UserAnswer.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.csbroker.apiserver.model

import io.csbroker.apiserver.common.enums.GradingStandardType
import io.csbroker.apiserver.dto.useranswer.UserAnswerSearchResponseDto.UserAnswerDataDto
import jakarta.persistence.CascadeType
import jakarta.persistence.Column
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package io.csbroker.apiserver.service.problem

import io.csbroker.apiserver.controller.v2.problem.request.SubmitLongProblemDto
import io.csbroker.apiserver.controller.v2.problem.response.SubmitLongProblemResponseDto
import io.csbroker.apiserver.dto.problem.grade.LongProblemGradingRequestDto
import io.csbroker.apiserver.dto.problem.longproblem.LongProblemDetailResponseDto

interface LongProblemService {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,17 @@
package io.csbroker.apiserver.service.problem

import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import io.csbroker.apiserver.common.client.AIServerClient
import io.csbroker.apiserver.common.enums.LikeType
import io.csbroker.apiserver.common.exception.EntityNotFoundException
import io.csbroker.apiserver.common.util.log
import io.csbroker.apiserver.controller.v2.problem.request.SubmitLongProblemDto
import io.csbroker.apiserver.controller.v2.problem.response.SubmitLongProblemResponseDto
import io.csbroker.apiserver.dto.problem.grade.KeywordGradingRequestDto
import io.csbroker.apiserver.dto.problem.grade.LongProblemGradingRequestToAiServerDto
import io.csbroker.apiserver.dto.problem.longproblem.LongProblemDetailResponseDto
import io.csbroker.apiserver.model.GradingHistory
import io.csbroker.apiserver.model.LongProblem
import io.csbroker.apiserver.model.UserAnswer
import io.csbroker.apiserver.repository.post.LikeRepository
import io.csbroker.apiserver.repository.problem.GradingHistoryRepository
import io.csbroker.apiserver.repository.problem.LongProblemRepository
import io.csbroker.apiserver.repository.problem.StandardAnswerRepository
import io.csbroker.apiserver.repository.problem.UserAnswerRepository
import io.csbroker.apiserver.repository.user.UserRepository
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
Expand All @@ -27,12 +20,10 @@ import org.springframework.transaction.annotation.Transactional
@Transactional(readOnly = true)
class LongProblemServiceImpl(
private val longProblemRepository: LongProblemRepository,
private val userRepository: UserRepository,
private val userAnswerRepository: UserAnswerRepository,
private val standardAnswerRepository: StandardAnswerRepository,
private val gradingHistoryRepository: GradingHistoryRepository,
private val likeRepository: LikeRepository,
private val aiServerClient: AIServerClient,
) : LongProblemService {
override fun findProblemById(id: Long, email: String?): LongProblemDetailResponseDto {
val likes = likeRepository.findAllByTargetId(LikeType.PROBLEM, id)
Expand Down Expand Up @@ -81,21 +72,4 @@ class LongProblemServiceImpl(
)
}

private fun getCorrectStandards(findProblem: LongProblem, answer: String): GradeResultDto {
return if (findProblem.isGradable) {
val gradingRequestDto = LongProblemGradingRequestToAiServerDto.createGradingRequestDto(findProblem, answer)
val gradingResponseDto = aiServerClient.getGrade(gradingRequestDto)

log.info("Integrate Grading response : {}", jacksonObjectMapper().writeValueAsString(gradingResponseDto))

GradeResultDto(gradingResponseDto)
} else {
val gradingRequestDto = KeywordGradingRequestDto.createKeywordGradingRequestDto(findProblem, answer)
val gradingResponseDto = aiServerClient.getKeywordGrade(gradingRequestDto)

log.info("Keyword Grading response : {}", jacksonObjectMapper().writeValueAsString(gradingResponseDto))

GradeResultDto(gradingResponseDto)
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.csbroker.apiserver.controller.v1.admin.problem

import io.csbroker.apiserver.common.enums.GradingStandardType
import io.csbroker.apiserver.controller.RestDocsTest
import io.csbroker.apiserver.dto.problem.longproblem.LongProblemResponseDto
import io.csbroker.apiserver.dto.problem.longproblem.LongProblemSearchResponseDto
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.csbroker.apiserver.controller.v1.admin.problem

import io.csbroker.apiserver.common.enums.GradingStandardType
import io.csbroker.apiserver.controller.RestDocsTest
import io.csbroker.apiserver.dto.user.GradingStandardResponseDto
import io.csbroker.apiserver.dto.useranswer.AssignUserAnswerDto
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,10 @@ class LongProblemServiceTest {
fun setUp() {
longProblemService = LongProblemServiceImpl(
longProblemRepository,
userRepository,
userAnswerRepository,
standardAnswerRepository,
gradingHistoryRepository,
likeRepository,
aiServerClient,
)
}

Expand Down

0 comments on commit 50bcd6b

Please sign in to comment.