From f6bc3579678a3473537b0b02255b35a0bbda8e1f Mon Sep 17 00:00:00 2001 From: uuuuuuuk <107162246+uuuuuuuk@users.noreply.github.com> Date: Thu, 20 Jun 2024 14:22:18 +0900 Subject: [PATCH] =?UTF-8?q?Revert=20"#345=20=ED=95=99=EC=83=9D=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EC=96=B4=EB=93=9C=EB=AF=BC=20API=EC=97=90=20?= =?UTF-8?q?=EC=BA=90=EC=8B=9C=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/service/impl/SignUpServiceImpl.kt | 29 ------------ .../impl/DeleteProfileImageServiceImpl.kt | 8 ++-- .../impl/UpdateProfileImageServiceImpl.kt | 6 +-- .../impl/UploadProfileImageServiceImpl.kt | 6 +-- .../service/impl/WithdrawalServiceImpl.kt | 15 ------- .../service/impl/ApplySelfStudyServiceImpl.kt | 6 +-- .../service/impl/BanSelfStudyServiceImpl.kt | 6 +-- .../impl/CancelBanSelfStudyServiceImpl.kt | 6 +-- .../impl/CancelSelfStudyServiceImpl.kt | 6 +-- .../data/res/FindAllStudentResDto.kt | 12 +---- .../service/impl/FindAllMemberServiceImpl.kt | 42 +++++++----------- .../impl/ModifyStudentInfoServiceImpl.kt | 38 ++-------------- .../v2/global/config/RedisCacheConfig.kt | 22 ---------- .../config/redis/service/RedisCacheService.kt | 44 ------------------- .../ApplySelfStudyServiceSynchronicityTest.kt | 12 ++--- .../service/ApplySelfStudyServiceTest.kt | 17 +++---- .../service/BanSelfStudyServiceTest.kt | 17 +------ .../service/CancelSelfStudyServiceTest.kt | 17 +++---- 18 files changed, 45 insertions(+), 264 deletions(-) delete mode 100644 src/main/kotlin/com/dotori/v2/global/config/RedisCacheConfig.kt delete mode 100644 src/main/kotlin/com/dotori/v2/global/config/redis/service/RedisCacheService.kt diff --git a/src/main/kotlin/com/dotori/v2/domain/auth/service/impl/SignUpServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/auth/service/impl/SignUpServiceImpl.kt index f088591c..67204c41 100644 --- a/src/main/kotlin/com/dotori/v2/domain/auth/service/impl/SignUpServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/auth/service/impl/SignUpServiceImpl.kt @@ -5,12 +5,8 @@ import com.dotori.v2.domain.auth.service.SignUpService import com.dotori.v2.domain.email.domain.repository.EmailCertificateRepository import com.dotori.v2.domain.email.exception.EmailAuthNotFoundException import com.dotori.v2.domain.email.exception.EmailNotBeenException -import com.dotori.v2.domain.member.domain.entity.Member import com.dotori.v2.domain.member.domain.repository.MemberRepository -import com.dotori.v2.domain.member.enums.Role import com.dotori.v2.domain.member.exception.MemberAlreadyException -import com.dotori.v2.domain.student.presentation.data.res.FindAllStudentResDto -import com.dotori.v2.global.config.redis.service.RedisCacheService import org.springframework.security.crypto.password.PasswordEncoder import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional @@ -21,7 +17,6 @@ class SignUpServiceImpl( private val emailCertificateRepository: EmailCertificateRepository, private val memberRepository: MemberRepository, private val passwordEncoder: PasswordEncoder, - private val redisCacheService: RedisCacheService ): SignUpService { override fun execute(signUpReqDto: SignUpReqDto) { val emailCertificate = emailCertificateRepository.findByEmail(signUpReqDto.email) @@ -39,29 +34,5 @@ class SignUpServiceImpl( val member = signUpReqDto.toEntity(encodedPassword) memberRepository.save(member) - - updateCache(member) - } - - private fun updateCache(member: Member) { - val cacheKey = "memberList" - val cachedData = redisCacheService.getFromCache(cacheKey) as? List - - if (cachedData != null) { - val updatedList = cachedData.toMutableList().apply { - add( - FindAllStudentResDto( - id = member.id, - gender = member.gender, - memberName = member.memberName, - stuNum = member.stuNum, - role = Role.ROLE_MEMBER, - selfStudyStatus = member.selfStudyStatus, - profileImage = null - ) - ) - } - redisCacheService.putToCache(cacheKey, updatedList) - } } } \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/member/service/impl/DeleteProfileImageServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/member/service/impl/DeleteProfileImageServiceImpl.kt index 4815227e..81f1d1b6 100644 --- a/src/main/kotlin/com/dotori/v2/domain/member/service/impl/DeleteProfileImageServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/member/service/impl/DeleteProfileImageServiceImpl.kt @@ -1,7 +1,6 @@ package com.dotori.v2.domain.member.service.impl import com.dotori.v2.domain.member.service.DeleteProfileImageService -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.thirdparty.aws.s3.S3Service import com.dotori.v2.global.util.UserUtil import org.springframework.stereotype.Service @@ -11,14 +10,13 @@ import org.springframework.transaction.annotation.Transactional @Transactional(rollbackFor = [Exception::class]) class DeleteProfileImageServiceImpl( private val userUtil: UserUtil, - private val s3Service: S3Service, - private val redisCacheService: RedisCacheService + private val s3Service: S3Service ) : DeleteProfileImageService { + override fun execute() { val member = userUtil.fetchCurrentUser() s3Service.deleteFile(member.profileImage!!) member.updateProfileImage(null) - - redisCacheService.updateCacheFromProfile(member.id, null) } + } \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/member/service/impl/UpdateProfileImageServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/member/service/impl/UpdateProfileImageServiceImpl.kt index d7915162..5ec7c1f5 100644 --- a/src/main/kotlin/com/dotori/v2/domain/member/service/impl/UpdateProfileImageServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/member/service/impl/UpdateProfileImageServiceImpl.kt @@ -1,7 +1,6 @@ package com.dotori.v2.domain.member.service.impl import com.dotori.v2.domain.member.service.UpdateProfileImageService -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.thirdparty.aws.s3.S3Service import com.dotori.v2.global.util.UserUtil import org.springframework.stereotype.Service @@ -12,15 +11,12 @@ import org.springframework.web.multipart.MultipartFile @Transactional(rollbackFor = [Exception::class]) class UpdateProfileImageServiceImpl( private val userUtil: UserUtil, - private val s3Service: S3Service, - private val redisCacheService: RedisCacheService + private val s3Service: S3Service ): UpdateProfileImageService { override fun execute(multipartFiles: MultipartFile?) { val member = userUtil.fetchCurrentUser() var uploadFile: String? = s3Service.uploadSingleFile(multipartFiles) s3Service.deleteFile(member.profileImage!!) member.updateProfileImage(uploadFile) - - redisCacheService.updateCacheFromProfile(member.id, uploadFile) } } \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/member/service/impl/UploadProfileImageServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/member/service/impl/UploadProfileImageServiceImpl.kt index 23e3d475..559ab27a 100644 --- a/src/main/kotlin/com/dotori/v2/domain/member/service/impl/UploadProfileImageServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/member/service/impl/UploadProfileImageServiceImpl.kt @@ -2,7 +2,6 @@ package com.dotori.v2.domain.member.service.impl import com.dotori.v2.domain.member.domain.entity.Member import com.dotori.v2.domain.member.service.UploadProfileImageService -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.thirdparty.aws.s3.S3Service import com.dotori.v2.global.util.UserUtil import org.springframework.stereotype.Service @@ -13,14 +12,11 @@ import org.springframework.web.multipart.MultipartFile @Transactional(rollbackFor = [Exception::class]) class UploadProfileImageServiceImpl( private val userUtil: UserUtil, - private val s3Service: S3Service, - private val redisCacheService: RedisCacheService + private val s3Service: S3Service ): UploadProfileImageService { override fun execute(multipartFiles: MultipartFile?) { val member: Member = userUtil.fetchCurrentUser() var uploadFile: String? = s3Service.uploadSingleFile(multipartFiles) member.updateProfileImage(uploadFile) - - redisCacheService.updateCacheFromProfile(member.id, uploadFile) } } \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/member/service/impl/WithdrawalServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/member/service/impl/WithdrawalServiceImpl.kt index e1f0aa51..c5358c04 100644 --- a/src/main/kotlin/com/dotori/v2/domain/member/service/impl/WithdrawalServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/member/service/impl/WithdrawalServiceImpl.kt @@ -2,8 +2,6 @@ package com.dotori.v2.domain.member.service.impl import com.dotori.v2.domain.member.domain.repository.MemberRepository import com.dotori.v2.domain.member.service.WithdrawalService -import com.dotori.v2.domain.student.presentation.data.res.FindAllStudentResDto -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.thirdparty.aws.s3.S3Service import com.dotori.v2.global.util.UserUtil import org.springframework.stereotype.Service @@ -15,23 +13,10 @@ class WithdrawalServiceImpl( private val memberRepository: MemberRepository, private val s3Service: S3Service, private val userUtil: UserUtil, - private val redisCacheService: RedisCacheService ) : WithdrawalService { override fun execute() { val currentUser = userUtil.fetchCurrentUser() currentUser.profileImage?.let { s3Service.deleteFile(it) } memberRepository.delete(currentUser) - - evictUserFromCache(currentUser.id) - } - - private fun evictUserFromCache(userId: Long) { - val cacheKey = "memberList" - val cachedData = redisCacheService.getFromCache(cacheKey) as? List - - if (cachedData != null) { - val updatedList = cachedData.filterNot { it.id == userId } - redisCacheService.putToCache(cacheKey, updatedList) - } } } \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/ApplySelfStudyServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/ApplySelfStudyServiceImpl.kt index ad876277..47b7a35e 100644 --- a/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/ApplySelfStudyServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/ApplySelfStudyServiceImpl.kt @@ -7,7 +7,6 @@ import com.dotori.v2.domain.selfstudy.util.FindSelfStudyCountUtil import com.dotori.v2.domain.selfstudy.util.SaveSelfStudyUtil import com.dotori.v2.domain.selfstudy.util.SelfStudyCheckUtil import com.dotori.v2.domain.selfstudy.util.ValidDayOfWeekAndHourUtil -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.util.UserUtil import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Isolation @@ -20,8 +19,7 @@ class ApplySelfStudyServiceImpl( private val findSelfStudyCountUtil: FindSelfStudyCountUtil, private val selfStudyCheckUtil: SelfStudyCheckUtil, private val saveSelfStudyUtil: SaveSelfStudyUtil, - private val validDayOfWeekAndHourUtil: ValidDayOfWeekAndHourUtil, - private val redisCacheService: RedisCacheService + private val validDayOfWeekAndHourUtil: ValidDayOfWeekAndHourUtil ) : ApplySelfStudyService{ override fun execute() { validDayOfWeekAndHourUtil.validateApply() @@ -37,7 +35,5 @@ class ApplySelfStudyServiceImpl( member.updateSelfStudyStatus(SelfStudyStatus.APPLIED) selfStudyCount.addCount() saveSelfStudyUtil.save(member) - - redisCacheService.updateCacheFromSelfStudy(member.id, SelfStudyStatus.APPLIED) } } \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/BanSelfStudyServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/BanSelfStudyServiceImpl.kt index b4d71140..12daa541 100644 --- a/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/BanSelfStudyServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/BanSelfStudyServiceImpl.kt @@ -5,7 +5,6 @@ import com.dotori.v2.domain.member.domain.repository.MemberRepository import com.dotori.v2.domain.member.enums.SelfStudyStatus import com.dotori.v2.domain.member.exception.MemberNotFoundException import com.dotori.v2.domain.selfstudy.service.BanSelfStudyService -import com.dotori.v2.global.config.redis.service.RedisCacheService import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional @@ -14,14 +13,11 @@ import java.time.LocalDateTime @Service @Transactional(rollbackFor = [Exception::class]) class BanSelfStudyServiceImpl( - private val memberRepository: MemberRepository, - private val redisCacheService: RedisCacheService + private val memberRepository: MemberRepository ) : BanSelfStudyService { override fun execute(id: Long) { val member = memberRepository.findByIdOrNull(id) ?: throw MemberNotFoundException() updateSelfStudyAndExpiredDate(member, SelfStudyStatus.IMPOSSIBLE, LocalDateTime.now().plusDays(7)) - - redisCacheService.updateCacheFromSelfStudy(member.id, SelfStudyStatus.IMPOSSIBLE) } private fun updateSelfStudyAndExpiredDate( diff --git a/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/CancelBanSelfStudyServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/CancelBanSelfStudyServiceImpl.kt index 86981c3f..e64d599a 100644 --- a/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/CancelBanSelfStudyServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/CancelBanSelfStudyServiceImpl.kt @@ -5,7 +5,6 @@ import com.dotori.v2.domain.member.domain.repository.MemberRepository import com.dotori.v2.domain.member.enums.SelfStudyStatus import com.dotori.v2.domain.member.exception.MemberNotFoundException import com.dotori.v2.domain.selfstudy.service.CancelBanSelfStudyService -import com.dotori.v2.global.config.redis.service.RedisCacheService import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional @@ -14,15 +13,12 @@ import java.time.LocalDateTime @Service @Transactional(rollbackFor = [Exception::class]) class CancelBanSelfStudyServiceImpl( - private val memberRepository: MemberRepository, - private val redisCacheService: RedisCacheService + private val memberRepository: MemberRepository ) : CancelBanSelfStudyService{ override fun execute(id: Long) { val member = memberRepository.findByIdOrNull(id) ?: throw MemberNotFoundException() updateSelfStudyAndExpiredDate(member, SelfStudyStatus.CAN, null) - redisCacheService.updateCacheFromSelfStudy(member.id, SelfStudyStatus.CAN) - } private fun updateSelfStudyAndExpiredDate( diff --git a/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/CancelSelfStudyServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/CancelSelfStudyServiceImpl.kt index 3631dbef..dde221a8 100644 --- a/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/CancelSelfStudyServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/selfstudy/service/impl/CancelSelfStudyServiceImpl.kt @@ -6,7 +6,6 @@ import com.dotori.v2.domain.selfstudy.service.CancelSelfStudyService import com.dotori.v2.domain.selfstudy.util.FindSelfStudyCountUtil import com.dotori.v2.domain.selfstudy.util.SelfStudyCheckUtil import com.dotori.v2.domain.selfstudy.util.ValidDayOfWeekAndHourUtil -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.util.UserUtil import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional @@ -18,8 +17,7 @@ class CancelSelfStudyServiceImpl( private val validDayOfWeekAndHourUtil: ValidDayOfWeekAndHourUtil, private val findSelfStudyCountUtil: FindSelfStudyCountUtil, private val selfStudyRepository: SelfStudyRepository, - private val selfStudyCheckUtil: SelfStudyCheckUtil, - private val redisCacheService: RedisCacheService + private val selfStudyCheckUtil: SelfStudyCheckUtil ) : CancelSelfStudyService { override fun execute() { validDayOfWeekAndHourUtil.validateCancel() @@ -34,7 +32,5 @@ class CancelSelfStudyServiceImpl( selfStudyRepository.deleteByMember(member) findSelfStudyCount.removeCount() - - redisCacheService.updateCacheFromSelfStudy(member.id, SelfStudyStatus.CANT) } } \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/student/presentation/data/res/FindAllStudentResDto.kt b/src/main/kotlin/com/dotori/v2/domain/student/presentation/data/res/FindAllStudentResDto.kt index de8f12c5..6c9598db 100644 --- a/src/main/kotlin/com/dotori/v2/domain/student/presentation/data/res/FindAllStudentResDto.kt +++ b/src/main/kotlin/com/dotori/v2/domain/student/presentation/data/res/FindAllStudentResDto.kt @@ -12,14 +12,4 @@ data class FindAllStudentResDto( val role: Role, val selfStudyStatus: SelfStudyStatus, val profileImage: String? -) { - constructor() : this( - id = 0L, - gender = Gender.MAN, - memberName = "", - stuNum = "", - role = Role.ROLE_ADMIN, - selfStudyStatus = SelfStudyStatus.APPLIED, - profileImage = "" - ) -} \ No newline at end of file +) \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/student/service/impl/FindAllMemberServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/student/service/impl/FindAllMemberServiceImpl.kt index d45336f0..64fd76d2 100644 --- a/src/main/kotlin/com/dotori/v2/domain/student/service/impl/FindAllMemberServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/student/service/impl/FindAllMemberServiceImpl.kt @@ -3,7 +3,6 @@ package com.dotori.v2.domain.student.service.impl import com.dotori.v2.domain.member.domain.repository.MemberRepository import com.dotori.v2.domain.student.presentation.data.res.FindAllStudentResDto import com.dotori.v2.domain.student.service.FindAllMemberService -import com.dotori.v2.global.config.redis.service.RedisCacheService import org.springframework.data.domain.Sort import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional @@ -12,31 +11,20 @@ import org.springframework.transaction.annotation.Transactional @Service @Transactional(readOnly = true, rollbackFor = [Exception::class]) class FindAllMemberServiceImpl( - private val memberRepository: MemberRepository, - private val redisCacheService: RedisCacheService + private val memberRepository: MemberRepository ) : FindAllMemberService { - override fun execute(): List { - val cacheKey = "memberList" + override fun execute(): List = + memberRepository.findAll(Sort.by(Sort.Direction.ASC, "stuNum")) + .map { + FindAllStudentResDto( + id = it.id, + gender = it.gender, + memberName = it.memberName, + stuNum = it.stuNum, + role = it.roles[0], + selfStudyStatus = it.selfStudyStatus, + profileImage = it.profileImage + ) + } - val cachedData = redisCacheService.getFromCache(cacheKey) - if (cachedData != null) { - return cachedData as List - } - - val members = memberRepository.findAll(Sort.by(Sort.Direction.ASC, "stuNum")).map { - FindAllStudentResDto( - id = it.id, - gender = it.gender, - memberName = it.memberName, - stuNum = it.stuNum, - role = it.roles[0], - selfStudyStatus = it.selfStudyStatus, - profileImage = it.profileImage - ) - } - - redisCacheService.putToCache(cacheKey, members) - - return members - } -} +} \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/domain/student/service/impl/ModifyStudentInfoServiceImpl.kt b/src/main/kotlin/com/dotori/v2/domain/student/service/impl/ModifyStudentInfoServiceImpl.kt index 3364ada7..2e4a580f 100644 --- a/src/main/kotlin/com/dotori/v2/domain/student/service/impl/ModifyStudentInfoServiceImpl.kt +++ b/src/main/kotlin/com/dotori/v2/domain/student/service/impl/ModifyStudentInfoServiceImpl.kt @@ -4,9 +4,7 @@ import com.dotori.v2.domain.member.domain.entity.Member import com.dotori.v2.domain.member.domain.repository.MemberRepository import com.dotori.v2.domain.member.exception.MemberNotFoundException import com.dotori.v2.domain.student.presentation.data.req.ModifyStudentInfoRequest -import com.dotori.v2.domain.student.presentation.data.res.FindAllStudentResDto import com.dotori.v2.domain.student.service.ModifyStudentInfoService -import com.dotori.v2.global.config.redis.service.RedisCacheService import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional @@ -15,17 +13,11 @@ import java.util.* @Service @Transactional(rollbackFor = [Exception::class]) class ModifyStudentInfoServiceImpl( - private val memberRepository: MemberRepository, - private val redisCacheService: RedisCacheService, + private val memberRepository: MemberRepository ) : ModifyStudentInfoService { - override fun execute(modifyStudentInfoRequest: ModifyStudentInfoRequest) { - val member = memberRepository.findByIdOrNull(modifyStudentInfoRequest.memberId) - ?: throw MemberNotFoundException() - + val member = memberRepository.findByIdOrNull(modifyStudentInfoRequest.memberId) ?: throw MemberNotFoundException() updateMemberInfo(member, modifyStudentInfoRequest) - - updateCache(modifyStudentInfoRequest) } private fun updateMemberInfo(member: Member, modifyStudentInfoRequest: ModifyStudentInfoRequest) { @@ -42,28 +34,4 @@ class ModifyStudentInfoServiceImpl( ) memberRepository.save(newMember) } - - private fun updateCache(modifyStudentInfoRequest: ModifyStudentInfoRequest) { - val cacheKey = "memberList" - val cachedData = redisCacheService.getFromCache(cacheKey) as? List? - - if (cachedData != null) { - val updatedList = cachedData.map { - if (it.id == modifyStudentInfoRequest.memberId) { - FindAllStudentResDto( - id = it.id, - gender = modifyStudentInfoRequest.gender, - memberName = modifyStudentInfoRequest.memberName, - stuNum = modifyStudentInfoRequest.stuNum, - role = modifyStudentInfoRequest.role, - selfStudyStatus = it.selfStudyStatus, - profileImage = it.profileImage - ) - } else { - it - } - } - redisCacheService.putToCache(cacheKey, updatedList) - } - } -} +} \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/global/config/RedisCacheConfig.kt b/src/main/kotlin/com/dotori/v2/global/config/RedisCacheConfig.kt deleted file mode 100644 index 12607b1f..00000000 --- a/src/main/kotlin/com/dotori/v2/global/config/RedisCacheConfig.kt +++ /dev/null @@ -1,22 +0,0 @@ -package com.dotori.v2.global.config - -import org.springframework.cache.annotation.EnableCaching -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Configuration -import org.springframework.data.redis.connection.RedisConnectionFactory -import org.springframework.data.redis.core.RedisTemplate -import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer -import org.springframework.data.redis.serializer.StringRedisSerializer - -@Configuration -@EnableCaching -class RedisCacheConfig { - @Bean - fun redisTemplate(redisConnectionFactory: RedisConnectionFactory): RedisTemplate { - return RedisTemplate().apply { - setConnectionFactory(redisConnectionFactory) - keySerializer = StringRedisSerializer() - valueSerializer = GenericJackson2JsonRedisSerializer() - } - } -} \ No newline at end of file diff --git a/src/main/kotlin/com/dotori/v2/global/config/redis/service/RedisCacheService.kt b/src/main/kotlin/com/dotori/v2/global/config/redis/service/RedisCacheService.kt deleted file mode 100644 index 2e94b26f..00000000 --- a/src/main/kotlin/com/dotori/v2/global/config/redis/service/RedisCacheService.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.dotori.v2.global.config.redis.service - -import com.dotori.v2.domain.member.enums.SelfStudyStatus -import com.dotori.v2.domain.student.presentation.data.res.FindAllStudentResDto -import org.springframework.data.redis.core.RedisTemplate -import org.springframework.stereotype.Service - -@Service -class RedisCacheService( - private val redisTemplate: RedisTemplate -) { - - fun getFromCache(key: String): Any? { - return redisTemplate.opsForValue().get(key) - } - - fun putToCache(key: String,value: Any) { - redisTemplate.opsForValue().set(key,value) - } - - fun updateCacheFromProfile(memberId: Long, uploadFile: String?) { - updateMemberCache(memberId) { it.copy(profileImage = uploadFile) } - } - - fun updateCacheFromSelfStudy(memberId: Long, selfStudyStatus: SelfStudyStatus) { - updateMemberCache(memberId) { it.copy(selfStudyStatus = selfStudyStatus) } - } - - private fun updateMemberCache(memberId: Long,update: (FindAllStudentResDto) -> FindAllStudentResDto) { - val cacheKey = "memberList" - val cachedData = getFromCache(cacheKey) as? List - - if (cachedData != null) { - val updatedList = cachedData.map { - if (it.id == memberId) { - update(it) - } else { - it - } - } - putToCache(cacheKey, updatedList) - } - } -} diff --git a/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/ApplySelfStudyServiceSynchronicityTest.kt b/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/ApplySelfStudyServiceSynchronicityTest.kt index c1dc95dd..affd2256 100644 --- a/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/ApplySelfStudyServiceSynchronicityTest.kt +++ b/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/ApplySelfStudyServiceSynchronicityTest.kt @@ -10,7 +10,6 @@ import com.dotori.v2.domain.selfstudy.util.FindSelfStudyCountUtil import com.dotori.v2.domain.selfstudy.util.SaveSelfStudyUtil import com.dotori.v2.domain.selfstudy.util.SelfStudyCheckUtil import com.dotori.v2.domain.selfstudy.util.ValidDayOfWeekAndHourUtil -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.util.UserUtil import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe @@ -27,15 +26,13 @@ class ApplySelfStudyServiceSynchronicityTest : BehaviorSpec({ val selfStudyCheckUtil = mockk() val saveSelfStudyUtil = mockk() val validDayOfWeekAndHourUtil = mockk() - val redisCacheService = mockk() val service = ApplySelfStudyServiceImpl( userUtil, findSelfStudyCountUtil, selfStudyCheckUtil, saveSelfStudyUtil, - validDayOfWeekAndHourUtil, - redisCacheService + validDayOfWeekAndHourUtil ) given("유저가 주어지고") { @@ -59,8 +56,7 @@ class ApplySelfStudyServiceSynchronicityTest : BehaviorSpec({ findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, - saveSelfStudyUtil, - redisCacheService + saveSelfStudyUtil ) `when`("서비스를 실행하면") { @@ -98,13 +94,11 @@ private fun init( findSelfStudyCountUtil: FindSelfStudyCountUtil, selfStudyCount: SelfStudyCount, selfStudyCheckUtil: SelfStudyCheckUtil, - saveSelfStudyUtil: SaveSelfStudyUtil, - redisCacheService: RedisCacheService + saveSelfStudyUtil: SaveSelfStudyUtil ) { every { validDayOfWeekAndHourUtil.validateApply() } returns Unit every { userUtil.fetchCurrentUser() } returns testMember every { findSelfStudyCountUtil.findSelfStudyCount() } returns selfStudyCount every { selfStudyCheckUtil.isSelfStudyStatusCan(testMember) } returns Unit every { saveSelfStudyUtil.save(testMember) } returns Unit - every { redisCacheService.updateCacheFromSelfStudy(any(), any()) } returns Unit } \ No newline at end of file diff --git a/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/ApplySelfStudyServiceTest.kt b/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/ApplySelfStudyServiceTest.kt index d97d44a2..32004f39 100644 --- a/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/ApplySelfStudyServiceTest.kt +++ b/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/ApplySelfStudyServiceTest.kt @@ -14,7 +14,6 @@ import com.dotori.v2.domain.selfstudy.util.FindSelfStudyCountUtil import com.dotori.v2.domain.selfstudy.util.SaveSelfStudyUtil import com.dotori.v2.domain.selfstudy.util.SelfStudyCheckUtil import com.dotori.v2.domain.selfstudy.util.ValidDayOfWeekAndHourUtil -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.util.UserUtil import io.kotest.assertions.throwables.shouldThrow import io.kotest.core.spec.style.BehaviorSpec @@ -30,15 +29,13 @@ class ApplySelfStudyServiceTest : BehaviorSpec({ val selfStudyCheckUtil = mockk() val saveSelfStudyUtil = mockk() val validDayOfWeekAndHourUtil = mockk() - val redisCacheService = mockk() val service = ApplySelfStudyServiceImpl( userUtil, findSelfStudyCountUtil, selfStudyCheckUtil, saveSelfStudyUtil, - validDayOfWeekAndHourUtil, - redisCacheService + validDayOfWeekAndHourUtil ) given("유저가 주어지고") { val testMember = Member( @@ -52,7 +49,7 @@ class ApplySelfStudyServiceTest : BehaviorSpec({ profileImage = null ) val selfStudyCount = SelfStudyCount(id = 1) - init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, saveSelfStudyUtil, redisCacheService) + init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, saveSelfStudyUtil) `when`("서비스를 실행하면") { service.execute() then("save가 실행되어야함") { @@ -74,7 +71,7 @@ class ApplySelfStudyServiceTest : BehaviorSpec({ } } } - init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, saveSelfStudyUtil, redisCacheService) + init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, saveSelfStudyUtil) every { validDayOfWeekAndHourUtil.validateApply() } throws NotSelfStudyApplyDayException() `when`("신청할 수 없는 요일일때") { @@ -84,7 +81,7 @@ class ApplySelfStudyServiceTest : BehaviorSpec({ } } } - init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, saveSelfStudyUtil, redisCacheService) + init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, saveSelfStudyUtil) every { validDayOfWeekAndHourUtil.validateApply() } throws NotSelfStudyApplyHourException() `when`("신청할 수 없는 시간알때") { @@ -94,7 +91,7 @@ class ApplySelfStudyServiceTest : BehaviorSpec({ } } } - init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, saveSelfStudyUtil, redisCacheService) + init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, saveSelfStudyUtil) every { selfStudyCheckUtil.isSelfStudyStatusCan(testMember) } throws AlreadyApplySelfStudyException() `when`("이미 신청한 유저일때") { @@ -114,13 +111,11 @@ private fun init( findSelfStudyCountUtil: FindSelfStudyCountUtil, selfStudyCount: SelfStudyCount, selfStudyCheckUtil: SelfStudyCheckUtil, - saveSelfStudyUtil: SaveSelfStudyUtil, - redisCacheService: RedisCacheService + saveSelfStudyUtil: SaveSelfStudyUtil ) { every { validDayOfWeekAndHourUtil.validateApply() } returns Unit every { userUtil.fetchCurrentUser() } returns testMember every { findSelfStudyCountUtil.findSelfStudyCount() } returns selfStudyCount every { selfStudyCheckUtil.isSelfStudyStatusCan(testMember) } returns Unit every { saveSelfStudyUtil.save(testMember) } returns Unit - every { redisCacheService.updateCacheFromSelfStudy(any(), any()) } returns Unit } \ No newline at end of file diff --git a/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/BanSelfStudyServiceTest.kt b/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/BanSelfStudyServiceTest.kt index 4aee4c14..e50a2d86 100644 --- a/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/BanSelfStudyServiceTest.kt +++ b/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/BanSelfStudyServiceTest.kt @@ -7,7 +7,6 @@ import com.dotori.v2.domain.member.enums.Role import com.dotori.v2.domain.member.enums.SelfStudyStatus import com.dotori.v2.domain.member.exception.MemberNotFoundException import com.dotori.v2.domain.selfstudy.service.impl.BanSelfStudyServiceImpl -import com.dotori.v2.global.config.redis.service.RedisCacheService import io.kotest.assertions.throwables.shouldThrow import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe @@ -18,8 +17,7 @@ import java.time.LocalDate class BanSelfStudyServiceTest : BehaviorSpec({ val memberRepository = mockk() - val redisCacheService = mockk() - val banSelfStudyServiceImpl = BanSelfStudyServiceImpl(memberRepository, redisCacheService) + val banSelfStudyServiceImpl = BanSelfStudyServiceImpl(memberRepository) given("유저가 주어지고") { val testMember = Member( memberName = "test", @@ -32,7 +30,6 @@ class BanSelfStudyServiceTest : BehaviorSpec({ profileImage = null ) - init(testMember, memberRepository, redisCacheService) every { memberRepository.findByIdOrNull(testMember.id) } returns testMember `when`("서비스를 실행할때") { banSelfStudyServiceImpl.execute(testMember.id) @@ -44,7 +41,6 @@ class BanSelfStudyServiceTest : BehaviorSpec({ } } - init(testMember, memberRepository, redisCacheService) every { memberRepository.findByIdOrNull(testMember.id) } returns null `when`("해당 유저가 없다면") { then("MemberNotFoundException이 발생해야함") { @@ -54,13 +50,4 @@ class BanSelfStudyServiceTest : BehaviorSpec({ } } } -}) - -private fun init( - testMember: Member, - memberRepository: MemberRepository, - redisCacheService: RedisCacheService -) { - every { memberRepository.findByIdOrNull(testMember.id) } returns testMember - every { redisCacheService.updateCacheFromSelfStudy(any(), any()) } returns Unit -} \ No newline at end of file +}) \ No newline at end of file diff --git a/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/CancelSelfStudyServiceTest.kt b/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/CancelSelfStudyServiceTest.kt index d228cdd6..4f859b52 100644 --- a/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/CancelSelfStudyServiceTest.kt +++ b/src/test/kotlin/com/dotori/v2/domain/selfstudy/service/CancelSelfStudyServiceTest.kt @@ -13,7 +13,6 @@ import com.dotori.v2.domain.selfstudy.service.impl.CancelSelfStudyServiceImpl import com.dotori.v2.domain.selfstudy.util.FindSelfStudyCountUtil import com.dotori.v2.domain.selfstudy.util.SelfStudyCheckUtil import com.dotori.v2.domain.selfstudy.util.ValidDayOfWeekAndHourUtil -import com.dotori.v2.global.config.redis.service.RedisCacheService import com.dotori.v2.global.util.UserUtil import io.kotest.assertions.throwables.shouldThrow import io.kotest.core.spec.style.BehaviorSpec @@ -29,14 +28,12 @@ class CancelSelfStudyServiceTest : BehaviorSpec({ val validDayOfWeekAndHourUtil = mockk() val selfStudyRepository = mockk() val selfStudyCheckUtil = mockk() - val redisCacheService = mockk() val serviceImpl = CancelSelfStudyServiceImpl( userUtil, validDayOfWeekAndHourUtil, findSelfStudyCountUtil, selfStudyRepository, - selfStudyCheckUtil, - redisCacheService + selfStudyCheckUtil ) given("유저가 주어지고") { val testMember = Member( @@ -50,7 +47,7 @@ class CancelSelfStudyServiceTest : BehaviorSpec({ profileImage = null ) val selfStudyCount = SelfStudyCount(id = 1, count = 1) - init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, selfStudyRepository, redisCacheService) + init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, selfStudyRepository) `when`("서비스를 실행하면") { serviceImpl.execute() then("delete 쿼리가 날라가야함") { @@ -72,7 +69,7 @@ class CancelSelfStudyServiceTest : BehaviorSpec({ } } } - init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, selfStudyRepository, redisCacheService) + init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, selfStudyRepository) every { validDayOfWeekAndHourUtil.validateCancel() } throws NotSelfStudyCancelHourException() `when`("취소를 할 수 없는 시간일때") { @@ -82,7 +79,7 @@ class CancelSelfStudyServiceTest : BehaviorSpec({ } } } - init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, selfStudyRepository, redisCacheService) + init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, selfStudyRepository) every { selfStudyCheckUtil.isSelfStudyStatusApplied(testMember) } throws NotAppliedException() `when`("자습에 신청하지 않았을때") { @@ -92,7 +89,7 @@ class CancelSelfStudyServiceTest : BehaviorSpec({ } } } - init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, selfStudyRepository, redisCacheService) + init(validDayOfWeekAndHourUtil, userUtil, testMember, findSelfStudyCountUtil, selfStudyCount, selfStudyCheckUtil, selfStudyRepository) } @@ -105,13 +102,11 @@ private fun init( findSelfStudyCountUtil: FindSelfStudyCountUtil, selfStudyCount: SelfStudyCount, selfStudyCheckUtil: SelfStudyCheckUtil, - selfStudyRepository: SelfStudyRepository, - redisCacheService: RedisCacheService + selfStudyRepository: SelfStudyRepository ) { every { validDayOfWeekAndHourUtil.validateCancel() } returns Unit every { userUtil.fetchCurrentUser() } returns testMember every { findSelfStudyCountUtil.findSelfStudyCount() } returns selfStudyCount every { selfStudyCheckUtil.isSelfStudyStatusApplied(testMember) } returns Unit every { selfStudyRepository.deleteByMember(testMember) } returns Unit - every { redisCacheService.updateCacheFromSelfStudy(any(), any()) } returns Unit } \ No newline at end of file