Skip to content

Commit 6570bf4

Browse files
authored
Merge pull request #427 from DSM-PICK/426-복귀-교사-관리-기능-개발
(#426) 복귀 교사 관리 기능 개발
2 parents c4cd7b7 + 77d811b commit 6570bf4

File tree

15 files changed

+87
-12
lines changed

15 files changed

+87
-12
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package dsm.pick2024.domain.application.port.`in`
2+
3+
import java.util.UUID
4+
5+
interface UpdateReturnTeacherUseCase {
6+
fun updateReturnTeacher(userId: UUID)
7+
}

src/main/kotlin/dsm/pick2024/domain/application/service/ApplicationService.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import dsm.pick2024.domain.application.port.out.ExistsApplicationPort
99
import dsm.pick2024.domain.application.port.out.SaveApplicationPort
1010
import dsm.pick2024.domain.application.presentation.dto.request.ApplicationRequest
1111
import dsm.pick2024.domain.event.dto.UserInfoRequest
12+
import dsm.pick2024.domain.event.enums.EventTopic
1213
import dsm.pick2024.domain.user.port.`in`.UserFacadeUseCase
1314
import org.springframework.context.ApplicationEventPublisher
1415
import org.springframework.stereotype.Service
@@ -47,6 +48,6 @@ class ApplicationService(
4748
applicationKind = ApplicationKind.APPLICATION
4849
)
4950
)
50-
eventPublisher.publishEvent(UserInfoRequest(this, user.xquareId))
51+
eventPublisher.publishEvent(UserInfoRequest(EventTopic.HANDLE_EVENT, user.xquareId))
5152
}
5253
}

src/main/kotlin/dsm/pick2024/domain/application/service/ChangeApplicationStatusService.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import dsm.pick2024.domain.applicationstory.port.out.SaveAllApplicationStoryPort
1717
import dsm.pick2024.domain.attendance.domain.service.AttendanceService
1818
import dsm.pick2024.domain.attendance.port.out.QueryAttendancePort
1919
import dsm.pick2024.domain.attendance.port.out.SaveAttendancePort
20+
import dsm.pick2024.domain.event.enums.EventTopic
2021
import org.springframework.context.ApplicationEventPublisher
2122
import org.springframework.stereotype.Service
2223
import org.springframework.transaction.annotation.Transactional
@@ -58,7 +59,9 @@ class ChangeApplicationStatusService(
5859
saveApplicationPort.saveAll(updateApplicationList)
5960
applicationStorySaveAllPort.saveAll(applicationStory)
6061
saveAttendancePort.saveAll(attendance)
61-
eventPublisher.publishEvent(ChangeStatusRequest(this, updateApplicationList.map { it.userId }))
62+
eventPublisher.publishEvent(
63+
ChangeStatusRequest(EventTopic.HANDLE_EVENT, updateApplicationList.map { it.userId })
64+
)
6265
}
6366
}
6467

@@ -95,6 +98,7 @@ class ChangeApplicationStatusService(
9598
start = startAndEnd.first(),
9699
end = startAndEnd.last(),
97100
date = application.date,
101+
returnTeacherName = null,
98102
type = Type.APPLICATION,
99103
userId = application.userId
100104
)

src/main/kotlin/dsm/pick2024/domain/application/service/ReturnApplicationReturnService.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import dsm.pick2024.domain.application.port.`in`.ReturnApplicationStatusUseCase
66
import dsm.pick2024.domain.application.port.out.DeleteApplicationPort
77
import dsm.pick2024.domain.application.port.out.QueryApplicationPort
88
import dsm.pick2024.domain.event.dto.UserInfoRequest
9+
import dsm.pick2024.domain.event.enums.EventTopic
910
import org.springframework.context.ApplicationEventPublisher
1011
import org.springframework.stereotype.Service
1112
import org.springframework.transaction.annotation.Transactional
@@ -23,8 +24,8 @@ class ReturnApplicationReturnService(
2324
val application = queryApplicationPort.findByIdAndApplicationKind(it, ApplicationKind.APPLICATION)
2425
?: throw ApplicationNotFoundException
2526

26-
deleteApplicationPort.deleteByIdAndApplicationKind(it, ApplicationKind.APPLICATION)
27-
eventPublisher.publishEvent(UserInfoRequest(this, application.userId))
27+
deleteApplicationPort.deleteByIdAndApplicationKind(application.id!!, ApplicationKind.APPLICATION)
28+
eventPublisher.publishEvent(UserInfoRequest(EventTopic.UPDATE_RETURN_TEACHER, application.userId))
2829
}
2930
}
3031
}

src/main/kotlin/dsm/pick2024/domain/applicationstory/domain/ApplicationStory.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ data class ApplicationStory(
1313
val start: String,
1414
val end: String? = null,
1515
val userName: String,
16+
val returnTeacherName: String? = null,
1617
val date: LocalDate,
1718
val type: Type
18-
)
19+
) {
20+
fun updateReturnTeacher(returnTeacherName: String?): ApplicationStory {
21+
return this.copy(returnTeacherName = returnTeacherName)
22+
}
23+
}

src/main/kotlin/dsm/pick2024/domain/applicationstory/entity/ApplicationStoryJpaEntity.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ class ApplicationStoryJpaEntity(
2828
@Column(name = "user_name", nullable = false, columnDefinition = "VARCHAR(10)")
2929
val userName: String,
3030

31+
@Column(name = "return_teacher_name", nullable = true, columnDefinition = "VARCHAR(10)")
32+
val teacherName: String? = null,
33+
3134
@Enumerated(value = EnumType.STRING)
3235
@Column(name = "type", nullable = false, columnDefinition = "VARCHAR(20)")
3336
val type: Type,

src/main/kotlin/dsm/pick2024/domain/applicationstory/mapper/ApplicationStoryMapper.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ class ApplicationStoryMapper {
1616
userName = userName,
1717
date = date,
1818
type = type,
19-
userId = userId
19+
userId = userId,
20+
teacherName = returnTeacherName
2021
)
2122
}
2223

@@ -30,7 +31,8 @@ class ApplicationStoryMapper {
3031
userName = userName,
3132
date = date,
3233
type = type,
33-
userId = userId
34+
userId = userId,
35+
returnTeacherName = teacherName
3436
)
3537
}
3638
}

src/main/kotlin/dsm/pick2024/domain/applicationstory/persistence/ApplicationStoryPersistenceAdapter.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,8 @@ class ApplicationStoryPersistenceAdapter(
2222
applicationStoryRepository.findAllByUserId(userId)
2323
.map { it.let { story -> applicationStoryMapper.toDomain(story) } }
2424
.sortedByDescending { it.date }
25+
26+
override fun save(applicationStory: ApplicationStory) {
27+
applicationStoryRepository.save(applicationStoryMapper.toEntity(applicationStory))
28+
}
2529
}

src/main/kotlin/dsm/pick2024/domain/applicationstory/port/out/ApplicationStoryPort.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ package dsm.pick2024.domain.applicationstory.port.out
22

33
interface ApplicationStoryPort :
44
SaveAllApplicationStoryPort,
5-
QueryAllApplicationStoryPort
5+
QueryAllApplicationStoryPort,
6+
SaveApplicationStoryPort
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package dsm.pick2024.domain.applicationstory.port.out
2+
3+
import dsm.pick2024.domain.applicationstory.domain.ApplicationStory
4+
5+
interface SaveApplicationStoryPort {
6+
fun save(applicationStory: ApplicationStory)
7+
}

0 commit comments

Comments
 (0)