Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ package com.dobby.external.prompt
import com.dobby.enums.MatchType
import com.dobby.enums.experiment.TimeSlot
import com.dobby.enums.member.GenderType
import com.dobby.external.prompt.dto.ApplyMethodDto
import com.dobby.external.prompt.dto.ExperimentPostKeywordDto
import com.dobby.external.prompt.dto.TargetGroupDto
import com.dobby.model.experiment.keyword.ApplyMethodKeyword
import com.dobby.model.experiment.keyword.ExperimentPostKeywords
import com.dobby.model.experiment.keyword.TargetGroupKeyword
Expand All @@ -18,37 +16,36 @@ class ExperimentPostKeywordMapper {
return ExperimentPostKeywords(
targetGroup = dto.targetGroup?.let { targetGroupDto ->
TargetGroupKeyword(
startAge = targetGroupDto.startAge ?: 0,
endAge = targetGroupDto.endAge ?: 0,
genderType = targetGroupDto.genderType?.let { genderStr ->
when (genderStr) {
"MALE" -> GenderType.MALE
"FEMALE" -> GenderType.FEMALE
"ALL" -> GenderType.ALL
else -> GenderType.ALL
startAge = targetGroupDto.startAge,
endAge = targetGroupDto.endAge,
genderType = targetGroupDto.genderType?.let {
try {
GenderType.valueOf(it)
} catch (e: IllegalArgumentException) {
null
}
} ?: GenderType.ALL,
},
otherCondition = targetGroupDto.otherCondition
)
},
applyMethod = dto.applyMethod?.let { applyMethodDto ->
ApplyMethodKeyword(
content = applyMethodDto.content ?: "",
content = applyMethodDto.content,
isFormUrl = applyMethodDto.isFormUrl,
formUrl = applyMethodDto.formUrl ?: "",
formUrl = applyMethodDto.formUrl,
isPhoneNum = applyMethodDto.isPhoneNum,
phoneNum = applyMethodDto.phoneNum ?: ""
phoneNum = applyMethodDto.phoneNum
)
},
matchType = dto.matchType?.let { matchTypeStr ->
try {
MatchType.valueOf(matchTypeStr)
} catch (e: IllegalArgumentException) {
MatchType.ALL
null
}
} ?: MatchType.ALL,
reward = dto.reward ?: "",
count = dto.count ?: 0,
},
reward = dto.reward,
count = dto.count,
timeRequired = dto.timeRequired?.takeIf { it.isNotBlank() }?.let { timeSlotStr ->
try {
TimeSlot.valueOf(timeSlotStr)
Expand All @@ -58,30 +55,4 @@ class ExperimentPostKeywordMapper {
}
)
}

fun toDto(domain: ExperimentPostKeywords): ExperimentPostKeywordDto {
return ExperimentPostKeywordDto(
targetGroup = domain.targetGroup?.let { targetGroupDomain ->
TargetGroupDto(
startAge = targetGroupDomain.startAge,
endAge = targetGroupDomain.endAge,
genderType = targetGroupDomain.genderType?.name,
otherCondition = targetGroupDomain.otherCondition
)
},
applyMethod = domain.applyMethod?.let { applyMethodDomain ->
ApplyMethodDto(
content = applyMethodDomain.content,
isFormUrl = applyMethodDomain.isFormUrl,
formUrl = applyMethodDomain.formUrl,
isPhoneNum = applyMethodDomain.isPhoneNum,
phoneNum = applyMethodDomain.phoneNum
)
},
matchType = domain.matchType?.name,
reward = domain.reward,
count = domain.count,
timeRequired = domain.timeRequired?.name
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"conditions": [
"공고 본문을 정확히 분석하여 각 항목에 맞는 정보를 추출한다.",
"추출된 정보는 반드시 output_format에 따라 JSON 형태로 출력한다.",
"정보가 명시되지 않은 경우 해당 필드는 빈 문자열(\"\") 또는 0으로 설정한다.",
"정보가 명시되지 않은 경우 해당 필드는 null로 설정한다.",
"URL이나 전화번호가 포함된 경우 해당 boolean 값을 true로 설정한다.",
"각 항목은 지정된 최대 글자 수를 초과하지 않도록 한다."
]
Expand Down
Loading