Skip to content

Commit

Permalink
Merge pull request #202 from GSM-MSG/feature/170-modify-studentInfo
Browse files Browse the repository at this point in the history
🔀 :: 170 modify student info
  • Loading branch information
louis7308 authored Aug 24, 2023
2 parents 60fedfc + 40af73d commit 99d3aac
Show file tree
Hide file tree
Showing 103 changed files with 1,166 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import team.msg.sms.common.annotation.Service
@Service
class CertificateService(
commandCertificateService: CommandCertificateService,
getCertificateService: GetCertificateService
getCertificateService: GetCertificateService,
checkCertificateService: CheckCertificateService
) : CommandCertificateService by commandCertificateService,
GetCertificateService by getCertificateService
GetCertificateService by getCertificateService,
CheckCertificateService by checkCertificateService
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package team.msg.sms.domain.certificate.service

import team.msg.sms.domain.certificate.model.Certificate

interface CheckCertificateService {
fun checkAddedCertificate(certificates: List<Certificate>, modifyCertificates: List<String>): List<String>

fun checkRemovedCertificate(certificates: List<Certificate>, modifyCertificates: List<String>): List<Certificate>
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,6 @@ import team.msg.sms.domain.student.model.Student
interface CommandCertificateService {
fun saveAll(certificate: List<Certificate>): List<Certificate>
fun deleteAllByStudent(student: Student)

fun deleteByCertificate(certificate: Certificate, student: Student)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package team.msg.sms.domain.certificate.service.impl

import team.msg.sms.common.annotation.Service
import team.msg.sms.domain.certificate.model.Certificate
import team.msg.sms.domain.certificate.service.CheckCertificateService

@Service
class CheckCertificateServiceImpl(

) : CheckCertificateService {
override fun checkAddedCertificate(certificates: List<Certificate>, modifyCertificates: List<String>) =
modifyCertificates
.filterNot { certificates.map { it -> it.certificateName }.contains(it) }
override fun checkRemovedCertificate(certificates: List<Certificate>, modifyCertificates: List<String>): List<Certificate> =
certificates.filterNot { modifyCertificates.contains(it.certificateName) }
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,8 @@ class CommandCertificateServiceImpl(

override fun deleteAllByStudent(student: Student) =
certificatePort.deleteAllByStudent(student)

override fun deleteByCertificate(certificate: Certificate, student: Student) {
certificatePort.deleteByCertificate(certificate, student)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ import team.msg.sms.domain.student.model.Student
interface CommandCertificatePort {
fun saveAll(certificate: List<Certificate>): List<Certificate>
fun deleteAllByStudent(student: Student)
fun deleteByCertificate(certificate: Certificate, student: Student)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package team.msg.sms.domain.file.exception

import team.msg.sms.common.error.SmsException
import team.msg.sms.domain.file.exception.error.FileErrorCode

object ImageNotFoundException : SmsException(
FileErrorCode.IMAGE_NOT_FOUND
)
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ enum class FileErrorCode(
) : ErrorProperty {
IMAGE_INVALID_EXTENSION(ErrorStatus.BAD_REQUEST, "Allowed Extension : jpg(JPG), jpeg(JPEG), png(PNG), heic(HEIC)"),
FILE_INVALID_EXTENSION(ErrorStatus.BAD_REQUEST, "Allowed Extension : hwp(HWP)"),
IMAGE_NOT_FOUND(ErrorStatus.NOT_FOUND, "Image is not found Exception"),
IO_INTERRUPTED(ErrorStatus.INTERNAL_SERVER_ERROR, "Interrupted File IO");

override fun status(): Int = status
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package team.msg.sms.domain.file.service

import team.msg.sms.domain.file.model.Image

interface CheckImageService {
fun checkAddedImage(images: List<Image>, modifyImages: List<String>): List<String>
fun checkRemovedImage(images: List<Image>, modifyImages: List<String>): List<Image>
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ import team.msg.sms.domain.project.model.Project
interface CommandImageService {
fun saveAll(images: List<Image>)
fun deleteAllByProjects(projects: List<Project>)
fun deleteByImage(image: Image, project: Project)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ import team.msg.sms.domain.file.model.Image

interface GetImageService {
fun getAllByProjectId(projectId: Long): List<Image>
fun getByImageUrlAndProjectId(imageUrl: String, projectId: Long): Image?
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import team.msg.sms.common.annotation.Service
@Service
class ImageService(
commandImageService: CommandImageService,
getImageService: GetImageService
getImageService: GetImageService,
checkImageService: CheckImageService
) : CommandImageService by commandImageService,
GetImageService by getImageService
GetImageService by getImageService,
CheckImageService by checkImageService
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package team.msg.sms.domain.file.service.impl

import team.msg.sms.common.annotation.Service
import team.msg.sms.domain.file.model.Image
import team.msg.sms.domain.file.service.CheckImageService

@Service
class CheckImageServiceImpl(

) : CheckImageService {
override fun checkAddedImage(images: List<Image>, modifyImages: List<String>): List<String> =
modifyImages
.filterNot { images.map { it -> it.imageUrl }.contains(it) }

override fun checkRemovedImage(images: List<Image>, modifyImages: List<String>): List<Image> =
images
.filterNot { modifyImages.contains(it.imageUrl) }
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@ import team.msg.sms.domain.file.spi.ImagePort
import team.msg.sms.domain.project.model.Project

@Service
class CommandImageServiceImp(
class CommandImageServiceImpl(
private val imagePort: ImagePort
) : CommandImageService {
override fun saveAll(images: List<Image>) =
imagePort.saveAll(images)

override fun deleteAllByProjects(projects: List<Project>) =
imagePort.deleteAllByProjects(projects)

override fun deleteByImage(image: Image, project: Project) =
imagePort.deleteByImage(image, project)
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,7 @@ class GetImageServiceImpl(
) : GetImageService {
override fun getAllByProjectId(projectId: Long): List<Image> =
imagePort.queryAllByProjectId(projectId)

override fun getByImageUrlAndProjectId(imageUrl: String, projectId: Long): Image? =
imagePort.queryByImageUrlAndProjectId(imageUrl, projectId)
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ import team.msg.sms.domain.project.model.Project
interface CommandImagePort {
fun saveAll(images: List<Image>)
fun deleteAllByProjects(projects: List<Project>)
fun deleteByImage(image: Image, project: Project)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ import team.msg.sms.domain.file.model.Image

interface QueryImagePort {
fun queryAllByProjectId(projectId: Long): List<Image>
fun queryByImageUrlAndProjectId(imageUrl: String, projectId: Long): Image?
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package team.msg.sms.domain.languagecertificate.service

import team.msg.sms.domain.languagecertificate.model.LanguageCertificate

interface CheckLanguageCertificateService {
fun checkAddedLanguageCertificate(
languageCertificates: List<LanguageCertificate>,
modifyLanguageCertificates: List<LanguageCertificate>
): List<LanguageCertificate>

fun checkRemovedLanguageCertificate(
languageCertificates: List<LanguageCertificate>,
modifyLanguageCertificates: List<LanguageCertificate>
): List<LanguageCertificate>
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ import team.msg.sms.domain.user.model.User
interface CommandLanguageCertificateService {
fun saveAll(languageCertificate: List<LanguageCertificate>): List<LanguageCertificate>
fun deleteAllByStudent(student: Student)
fun deleteByLanguageCertificate(languageCertificate: LanguageCertificate, student: Student)
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import team.msg.sms.common.annotation.Service
@Service
class LanguageCertificateService(
commandLanguageCertificateService: CommandLanguageCertificateService,
getLanguageCertificateService: GetLanguageCertificateService
getLanguageCertificateService: GetLanguageCertificateService,
checkLanguageCertificateService: CheckLanguageCertificateService
) : CommandLanguageCertificateService by commandLanguageCertificateService,
GetLanguageCertificateService by getLanguageCertificateService
GetLanguageCertificateService by getLanguageCertificateService,
CheckLanguageCertificateService by checkLanguageCertificateService
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package team.msg.sms.domain.languagecertificate.service.impl

import team.msg.sms.common.annotation.Service
import team.msg.sms.domain.languagecertificate.model.LanguageCertificate
import team.msg.sms.domain.languagecertificate.service.CheckLanguageCertificateService

@Service
class CheckLanguageCertificateServiceImpl(

) : CheckLanguageCertificateService {
override fun checkAddedLanguageCertificate(
languageCertificates: List<LanguageCertificate>,
modifyLanguageCertificates: List<LanguageCertificate>
): List<LanguageCertificate> {
return modifyLanguageCertificates.filterNot { modifiedScore ->
languageCertificates.any { existingCert ->
existingCert.languageCertificateName == modifiedScore.languageCertificateName &&
existingCert.score == modifiedScore.score
}
}
}

override fun checkRemovedLanguageCertificate(
languageCertificates: List<LanguageCertificate>,
modifyLanguageCertificates: List<LanguageCertificate>
): List<LanguageCertificate> {
return languageCertificates.filterNot { existingCert ->
modifyLanguageCertificates.any { modifiedScore ->
modifiedScore.languageCertificateName == existingCert.languageCertificateName &&
modifiedScore.score == existingCert.score
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ class CommandLanguageCertificateServiceImpl(
override fun deleteAllByStudent(student: Student) =
languageCertificatePort.deleteAllByStudent(student)

override fun deleteByLanguageCertificate(languageCertificate: LanguageCertificate, student: Student) =
languageCertificatePort.deleteByLanguageCertificate(languageCertificate, student)
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ import team.msg.sms.domain.student.model.Student
interface CommandLanguageCertificatePort {
fun saveAll(languageCertificates: List<LanguageCertificate>): List<LanguageCertificate>
fun deleteAllByStudent(student: Student)
fun deleteByLanguageCertificate(languageCertificate: LanguageCertificate, student: Student)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package team.msg.sms.domain.prize.service

import team.msg.sms.domain.prize.model.Prize

interface CheckPrizeService {
fun checkAddedPrize(prizes: List<Prize>, modifyPrizes: List<Prize>): List<Prize>
fun checkRemovedPrize(prizes: List<Prize>, modifyPrizes: List<Prize>): List<Prize>
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ import team.msg.sms.domain.student.model.Student
interface CommandPrizeService {
fun saveAll(prizes: List<Prize>)
fun deleteAllByStudent(student: Student)
fun deleteByPrize(prize: Prize, student: Student)
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import team.msg.sms.common.annotation.Service
@Service
class PrizeService(
commandPrizeService: CommandPrizeService,
getPrizeService: GetPrizeService
getPrizeService: GetPrizeService,
checkPrizeService: CheckPrizeService
) : CommandPrizeService by commandPrizeService,
GetPrizeService by getPrizeService
GetPrizeService by getPrizeService,
CheckPrizeService by checkPrizeService
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package team.msg.sms.domain.prize.service.impl

import team.msg.sms.common.annotation.Service
import team.msg.sms.domain.prize.model.Prize
import team.msg.sms.domain.prize.service.CheckPrizeService

@Service
class CheckPrizeServiceImpl(

) : CheckPrizeService {
override fun checkAddedPrize(prizes: List<Prize>, modifyPrizes: List<Prize>): List<Prize> {
return modifyPrizes.filterNot { modifiedPrize ->
prizes.any { existingPrize ->
existingPrize.name == modifiedPrize.name &&
existingPrize.type == modifiedPrize.type &&
existingPrize.date == modifiedPrize.date
}
}
}

override fun checkRemovedPrize( prizes: List<Prize>, modifyPrizes: List<Prize>): List<Prize> {
return prizes.filterNot { existingPrize ->
modifyPrizes.any { modifiedPrize ->
modifiedPrize.name == existingPrize.name &&
modifiedPrize.type == existingPrize.type &&
modifiedPrize.date == existingPrize.date
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,7 @@ class CommandPrizeServiceImpl(

override fun deleteAllByStudent(student: Student) =
prizePort.deleteAllByStudent(student)

override fun deleteByPrize(prize: Prize, student: Student) =
prizePort.deleteByPrize(prize, student)
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ import team.msg.sms.domain.student.model.Student
interface CommandPrizePort {
fun saveAll(prizes: List<Prize>)
fun deleteAllByStudent(student: Student)
fun deleteByPrize(prize: Prize, student: Student)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package team.msg.sms.domain.project.service

import team.msg.sms.domain.project.model.ProjectLink

interface CheckProjectLinkService {
fun checkAddedProjectLink(projectLinks: List<ProjectLink>, modifyProjectLinks: List<ProjectLink>): List<ProjectLink>
fun checkRemovedProjectLink(projectLinks: List<ProjectLink>, modifyProjectLinks: List<ProjectLink>): List<ProjectLink>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package team.msg.sms.domain.project.service

import team.msg.sms.domain.project.model.Project

interface CheckProjectService {
fun checkAddedProject(projects: List<Project>, modifyProject: Project): Project
fun checkRemovedProject(projects: List<Project>, modifyProjects: List<Project>): List<Project>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package team.msg.sms.domain.project.service

import team.msg.sms.domain.project.model.ProjectTechStack

interface CheckProjectTechStackService {
fun checkAddedProjectTechStack(projects: List<ProjectTechStack>, modifyProjects: List<String>): List<String>
fun checkRemovedProjectTechStack(projects: List<ProjectTechStack>, modifyProjects: List<String>): List<String>
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ import team.msg.sms.domain.project.model.ProjectLink
interface CommandProjectLinkService {
fun saveAll(projectLinks: List<ProjectLink>)
fun deleteAllByProjects(projects: List<Project>)
fun deleteByProjectLink(projectLink: ProjectLink, project: Project)
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,7 @@ import team.msg.sms.domain.student.model.Student

interface CommandProjectService {
fun save(project: Project): Project
fun saveOrUpdateProject(student: Student, project: Project): Project
fun deleteAllByStudent(student: Student)
fun deleteByProject(project: Project, student: Student)
}
Loading

0 comments on commit 99d3aac

Please sign in to comment.