Skip to content

Commit c47a7e6

Browse files
authored
Merge pull request #420 from GSM-MSG/develop
🔁 Master로 병합
2 parents 03f53da + 7e4de1e commit c47a7e6

File tree

5 files changed

+28
-2
lines changed

5 files changed

+28
-2
lines changed

sms-core/src/main/kotlin/team/msg/sms/domain/authentication/usecase/QueryStudentFormListUseCase.kt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,25 @@ import team.msg.sms.domain.authentication.model.MarkingBoardType
66
import team.msg.sms.domain.authentication.service.AuthenticationFormService
77
import team.msg.sms.domain.authentication.service.MarkingBoardService
88
import team.msg.sms.domain.student.service.StudentService
9+
import team.msg.sms.domain.teacher.service.HomeroomTeacherService
10+
import team.msg.sms.domain.teacher.service.TeacherService
11+
import team.msg.sms.domain.user.service.UserService
912

1013
@ReadOnlyUseCase
1114
class QueryStudentFormListUseCase(
1215
private val studentService: StudentService,
16+
private val userService: UserService,
1317
private val markingBoardService: MarkingBoardService,
14-
private val authenticationFormService: AuthenticationFormService
18+
private val authenticationFormService: AuthenticationFormService,
19+
private val homeroomTeacherService: HomeroomTeacherService
1520
) {
1621
fun execute(page: Int, size: Int, type: List<MarkingBoardType>?): UserBoardPageResponseData {
17-
val studentIds = studentService.getStudentIds()
22+
val currentUser = userService.getCurrentUser()
23+
val currentHomeroomTeacher = homeroomTeacherService.getHomeroomTeacherByUserId(currentUser.id)
24+
25+
val grade = currentHomeroomTeacher.grade
26+
val classNum = currentHomeroomTeacher.classNum
27+
val studentIds = studentService.getStudentIdsByGradeAndClassNum(grade, classNum)
1828

1929
val authenticationFormId = authenticationFormService.getActiveAuthenticationFormId()
2030

sms-core/src/main/kotlin/team/msg/sms/domain/student/service/GetStudentService.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,6 @@ interface GetStudentService {
2727
fun currentStudent(): Student.StudentWithUserInfo
2828

2929
fun getStudentIds(): List<UUID>
30+
31+
fun getStudentIdsByGradeAndClassNum(grade: Int, classNum: Int): List<UUID>
3032
}

sms-core/src/main/kotlin/team/msg/sms/domain/student/service/impl/GetStudentServiceImpl.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,7 @@ class GetStudentServiceImpl(
6363

6464
override fun getStudentIds(): List<UUID> =
6565
studentPort.queryStudentIds()
66+
67+
override fun getStudentIdsByGradeAndClassNum(grade: Int, classNum: Int): List<UUID> =
68+
studentPort.queryStudentIdsByGradeAndClassNum(grade, classNum)
6669
}

sms-core/src/main/kotlin/team/msg/sms/domain/student/spi/QueryStudentPort.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ interface QueryStudentPort {
99
fun queryStudentById(uuid: UUID): Student?
1010
fun queryStudentsWithPage(page: Int, size: Int): Student.StudentWithPageInfo
1111
fun queryStudentIds(): List<UUID>
12+
fun queryStudentIdsByGradeAndClassNum(grade: Int, classNum: Int): List<UUID>
1213
fun queryStudentByUserId(userId: UUID): Student
1314
fun queryStudentUserInfoByUserId(userId: UUID): Student.StudentWithUserInfo?
1415
fun queryStudentByUser(user: User): Student

sms-persistence/src/main/kotlin/team/msg/sms/persistence/student/StudentPersistenceAdapter.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,16 @@ class StudentPersistenceAdapter(
5353
.fetch()
5454
}
5555

56+
override fun queryStudentIdsByGradeAndClassNum(grade: Int, classNum: Int): List<UUID> {
57+
val qStudent = QStudentJpaEntity.studentJpaEntity
58+
59+
return queryFactory
60+
.select(qStudent.id)
61+
.from(qStudent)
62+
.where(qStudent.user.stuNum.startsWith("${grade}${classNum}"))
63+
.fetch()
64+
}
65+
5666
override fun queryStudentByUserId(userId: UUID): Student =
5767
studentJpaRepository.findByUserId(userId)!!.toDomain()
5868

0 commit comments

Comments
 (0)