Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DPMBE-123] 트래킹 시작 시 해당 약속에 참여한 사람이 없다면 트래킹을 시작하지 않는다. #208

Merged
merged 3 commits into from
Jul 19, 2023

Conversation

kdomo
Copy link
Member

@kdomo kdomo commented Jul 17, 2023

개요

작업사항

  • 트래킹 시작 시 해당 약속에 참여한 사람이 방장 혼자라면 트래킹을 할 필요 없이 약속을 종료처리하고,
  • 약속종료, 트래킹종료 이벤트가 실행되지 않도록 redis에서 entity를 찾아 지워주는 작업 처리해두었습니당

변경로직

  • 내용을 적어주세요.

@kdomo kdomo requested a review from ImNM as a code owner July 17, 2023 05:38
@kdomo kdomo self-assigned this Jul 17, 2023
@kdomo kdomo requested a review from BlackBean99 as a code owner July 17, 2023 05:38
Copy link
Collaborator

@BlackBean99 BlackBean99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Comment on lines 38 to 50
private fun handlePromiseTimeStart(key: Long) {
val promiseUsers = promiseUserAdaptor.findByPromiseId(key)
if (promiseUsers.size < 2) {
promiseActiveRepository.findById("EXPIRE_EVENT_PROMISE_TIME_END_$key").ifPresent {
promiseActiveRepository.delete(it)
}
promiseActiveRepository.findById("EXPIRE_EVENT_TRACKING_TIME_START_$key").ifPresent {
promiseActiveRepository.delete(it)
}
return
}
Events.raise(PromiseTimeStartEvent(key))
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영 안해도 상관 없어요!
이렇게 케이스의 확장 가능성이 있을 경우에

    private fun handlePromiseTimeStart(key: Long) {
        val promiseUsers = promiseUserAdaptor.findByPromiseId(key)

        if (promiseUsers.size < 2) {
            val eventIdsToDelete = listOf(
                "EXPIRE_EVENT_PROMISE_TIME_END_$key",
                "EXPIRE_EVENT_TRACKING_TIME_START_$key"
            )

            eventIdsToDelete.forEach { eventId ->
                promiseActiveRepository.findById(eventId)?.let { event ->
                    promiseActiveRepository.delete(event)
                }
            }

            return
        }
        Events.raise(PromiseTimeStartEvent(key))
    }

이렇게 리스트로 관리하면 변경의 가능성에 대처가 가능하다! 그러하다닫다다닫!!

@sonarcloud
Copy link

sonarcloud bot commented Jul 19, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

22.2% 22.2% Coverage
0.0% 0.0% Duplication

@kdomo kdomo merged commit 9eb0c61 into develop Jul 19, 2023
3 checks passed
@kdomo kdomo deleted the feature/DPMBE-123 branch July 19, 2023 03:47
kdomo added a commit that referenced this pull request Jul 19, 2023
* feat: 트래킹 시작 시 해당 약속에 참여한 사람이 없다면 트래킹을 시작하지 않는다.

* feat: 트래킹 시작 시 약속 유저가 2명 이하라면 약속을 종료 처리시킨다

* fix: 약속 참여유저 2 미만 이벤트 삭제 시 람다식으로 변경
kdomo added a commit that referenced this pull request Jul 19, 2023
* fix: RedisMessageListener에 key prefix값 replace 적용

* fix: 앱 알림 허용한 유저가 있을때만 fcm message 보내도록 조건 추가

* fix: PromiseActive시 Redis로 저장되는 Key값 변경

* feat: 인터렉션 발송 시 앱 알람이 꺼져있을때 푸시알림만 안보내도록 한다. (#207)

* [DPMBE-123] 트래킹 시작 시 해당 약속에 참여한 사람이 없다면 트래킹을 시작하지 않는다. (#208)

* feat: 트래킹 시작 시 해당 약속에 참여한 사람이 없다면 트래킹을 시작하지 않는다.

* feat: 트래킹 시작 시 약속 유저가 2명 이하라면 약속을 종료 처리시킨다

* fix: 약속 참여유저 2 미만 이벤트 삭제 시 람다식으로 변경

* [DPMBE-116] 자신의 알림을 조회한다 (#211)

* fix: 인터렉션 타입에 Enumerated String을 사용하도록 변경

* feat: 자신의 알림을 조회한다

* fix: Default Argument에서 Named Argument로 변경

* style: 주석제거
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants