Skip to content

Commit b767e0c

Browse files
committed
♻️ refactor(report): report 연결
1 parent 7ad10a1 commit b767e0c

File tree

4 files changed

+27
-20
lines changed

4 files changed

+27
-20
lines changed

server/src/main/kotlin/com/app/server/user_challenge/application/service/UserChallengeCommandService.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,9 @@ class UserChallengeCommandService(
123123
private fun makeReport(userChallenge: UserChallenge) {
124124
val sendToReportServerRequestDto = SendToReportServerRequestDto.from(
125125
challengeTitle = userChallenge.challenge.title,
126-
progress = userChallenge.totalParticipationDayCount.floorDiv(
127-
userChallenge.participantDays.toLong()
128-
).toInt(),
126+
progress = (userChallenge.totalParticipationDayCount * 100)
127+
.floorDiv(userChallenge.participantDays)
128+
.toInt(),
129129
totalDay = userChallenge.participantDays
130130
)
131131

server/src/main/kotlin/com/app/server/user_challenge/application/service/UserChallengeQueryService.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.app.server.user_challenge.application.service
22

3+
import com.app.server.rank.application.service.RankService
34
import com.app.server.user_challenge.domain.enums.EUserChallengeCertificationStatus
45
import com.app.server.user_challenge.domain.enums.EUserChallengeStatus
56
import com.app.server.user_challenge.domain.model.UserChallenge
@@ -12,7 +13,8 @@ import java.time.LocalDate
1213

1314
@Service
1415
class UserChallengeQueryService(
15-
private val userChallengeService: UserChallengeService
16+
private val userChallengeService: UserChallengeService,
17+
private val rankService: RankService
1618
) : GetTotalUserChallengeUseCase, GetUserChallengeReportUseCase {
1719
fun getChallengeCompletedUserPercent(challengeId: Long): Double {
1820

@@ -46,7 +48,10 @@ class UserChallengeQueryService(
4648
val successDays = userChallenge.getUserChallengeHistories()
4749
.count { it.status != EUserChallengeCertificationStatus.FAILED }
4850

49-
val userRank = 1L // TODO: UserChallenge에서 랭킹을 가져오는 로직 추가 필요
51+
val key = "rank:challenge:${userChallenge.challenge.id}"
52+
val value = userChallenge.userId
53+
54+
val userRank = rankService.getRank(key, value)
5055

5156
updateUserChallengeStatus(userChallenge, todayDate)
5257

server/src/main/kotlin/com/app/server/user_challenge/infra/ReportInfraService.kt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -59,21 +59,23 @@ class ReportInfraService {
5959
)
6060
val jsonResponseObject = objectMapper.readTree(body.message)
6161

62-
if (jsonResponseObject.get("status_code").toString() != "200") {
63-
return ReceiveReportResponseDto(
64-
status = EUserReportResultCode.ERROR_IN_RECEIVE_REPORT_SERVER,
65-
message = EUserReportResultCode.ERROR_IN_RECEIVE_REPORT_SERVER.message
66-
)
67-
} else if (jsonResponseObject.get("success").toString() == "True") {
62+
if (jsonResponseObject.get("success").toString().lowercase() == "true") {
6863
return ReceiveReportResponseDto(
6964
status = EUserReportResultCode.RECEIVE_REPORT_SUCCESS,
7065
message = jsonResponseObject.get("result_text").toString()
7166
)
67+
} else if (jsonResponseObject.get("success").toString().lowercase() == "false") {
68+
return ReceiveReportResponseDto(
69+
status = EUserReportResultCode.RECEIVE_REPORT_FAILED,
70+
message = EUserReportResultCode.RECEIVE_REPORT_FAILED.message
71+
)
72+
}
73+
else {
74+
return ReceiveReportResponseDto(
75+
status = EUserReportResultCode.ERROR_IN_RECEIVE_REPORT_SERVER,
76+
message = EUserReportResultCode.ERROR_IN_RECEIVE_REPORT_SERVER.message
77+
)
7278
}
73-
return ReceiveReportResponseDto(
74-
status = EUserReportResultCode.RECEIVE_REPORT_FAILED,
75-
message = EUserReportResultCode.RECEIVE_REPORT_FAILED.message
76-
)
7779
}
7880

7981
}

server/src/main/kotlin/com/app/server/user_challenge/ui/dto/SendToReportServerRequestDto.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ import com.fasterxml.jackson.annotation.JsonProperty
55
data class SendToReportServerRequestDto (
66

77
@JsonProperty("challenge_title")
8-
val challengeTitle: String,
8+
val challenge_title: String,
99
@JsonProperty("progress")
1010
val progress: Int,
1111
@JsonProperty("total_day")
12-
val totalDay: Int
12+
val total_day: Int
1313
){
1414
companion object {
1515
fun from(challengeTitle: String, progress: Int, totalDay: Int) = SendToReportServerRequestDto(
16-
challengeTitle = challengeTitle,
17-
progress = progress * 100,
18-
totalDay = totalDay
16+
challengeTitle,
17+
progress,
18+
totalDay
1919
)
2020
}
2121
}

0 commit comments

Comments
 (0)