fix(agent-assignment): 소속 시각 UTC 변환을 적용한다

This commit is contained in:
2026-04-13 11:23:25 +09:00
parent 08ba6a6046
commit f357d426d0
4 changed files with 87 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
package kr.co.vividnext.sodalive.admin.partner.agent.assignment
import kr.co.vividnext.sodalive.common.SodaException
import kr.co.vividnext.sodalive.extensions.convertToUtc
import kr.co.vividnext.sodalive.member.MemberRepository
import kr.co.vividnext.sodalive.member.MemberRole
import kr.co.vividnext.sodalive.partner.agent.assignment.AgentCreatorRelation
@@ -37,14 +38,15 @@ class AdminAgentCreatorService(
}
val existingRelations = relationRepository.findAllByCreatorIdOrderByAssignedAtAsc(request.creatorId)
if (hasAssignmentOverlap(existingRelations, request.assignedAt)) {
val assignedAt = request.assignedAt.convertToUtc()
if (hasAssignmentOverlap(existingRelations, assignedAt)) {
throw SodaException(messageKey = "partner.agent.assignment.assignment_overlap")
}
val relation = AgentCreatorRelation()
relation.agent = agent
relation.creator = creator
relation.assignedAt = request.assignedAt
relation.assignedAt = assignedAt
try {
relationRepository.saveAndFlush(relation)
} catch (e: DataIntegrityViolationException) {
@@ -67,11 +69,12 @@ class AdminAgentCreatorService(
val assignedAt = relation.assignedAt
?: throw SodaException(messageKey = "partner.agent.assignment.not_found")
if (!request.unassignedAt.isAfter(assignedAt)) {
val unassignedAt = request.unassignedAt.convertToUtc()
if (!unassignedAt.isAfter(assignedAt)) {
throw SodaException(messageKey = "partner.agent.assignment.invalid_unassigned_at")
}
relation.unassignedAt = request.unassignedAt
relation.unassignedAt = unassignedAt
relationRepository.save(relation)
}