|
1 | 1 | package com.oronaminc.join.room.service; |
2 | 2 |
|
3 | | -import static com.oronaminc.join.global.exception.ErrorCode.*; |
4 | | - |
5 | | -import java.util.List; |
6 | | -import java.util.Map; |
7 | | -import java.util.stream.Collectors; |
8 | | - |
9 | | -import org.springframework.cache.annotation.CacheEvict; |
10 | | -import org.springframework.context.ApplicationEventPublisher; |
11 | | -import org.springframework.stereotype.Service; |
12 | | -import org.springframework.transaction.annotation.Transactional; |
13 | | - |
14 | 3 | import com.oronaminc.join.answer.domain.Answer; |
15 | 4 | import com.oronaminc.join.answer.service.AnswerReader; |
16 | 5 | import com.oronaminc.join.document.domain.Document; |
|
27 | 16 | import com.oronaminc.join.room.dao.RoomRepository; |
28 | 17 | import com.oronaminc.join.room.domain.Room; |
29 | 18 | import com.oronaminc.join.room.domain.RoomStatus; |
30 | | -import com.oronaminc.join.room.dto.CreateRoomRequest; |
31 | | -import com.oronaminc.join.room.dto.CreateRoomResponse; |
32 | | -import com.oronaminc.join.room.dto.JoinRoomRequest; |
33 | | -import com.oronaminc.join.room.dto.JoinRoomResponse; |
34 | | -import com.oronaminc.join.room.dto.ReportResponse; |
| 19 | +import com.oronaminc.join.room.dto.*; |
35 | 20 | import com.oronaminc.join.room.event.RoomDeleteEvent; |
36 | | -import com.oronaminc.join.room.dto.RoomDetailResponse; |
37 | | -import com.oronaminc.join.room.dto.RoomJoinResponse; |
38 | | -import com.oronaminc.join.room.dto.RoomUpdateInfoResponse; |
39 | | -import com.oronaminc.join.room.dto.RoomUpdateRequest; |
40 | | -import com.oronaminc.join.room.dto.RoomUpdateStatusRequest; |
41 | | -import com.oronaminc.join.room.dto.TopQnAResponse; |
42 | 21 | import com.oronaminc.join.room.util.CodeGenerator; |
43 | 22 | import com.oronaminc.join.room.util.RoomMapper; |
44 | 23 | import com.oronaminc.join.websocket.session.CurrentParticipantManager; |
45 | | - |
46 | 24 | import lombok.RequiredArgsConstructor; |
| 25 | +import org.springframework.cache.annotation.CacheEvict; |
| 26 | +import org.springframework.context.ApplicationEventPublisher; |
| 27 | +import org.springframework.stereotype.Service; |
| 28 | +import org.springframework.transaction.annotation.Transactional; |
| 29 | + |
| 30 | +import java.util.List; |
| 31 | +import java.util.Map; |
| 32 | +import java.util.stream.Collectors; |
| 33 | + |
| 34 | +import static com.oronaminc.join.global.exception.ErrorCode.*; |
47 | 35 |
|
48 | 36 | @Service |
49 | 37 | @Transactional(readOnly = true) |
@@ -139,7 +127,7 @@ public void deleteRoom(Long memberId, Long roomId) { |
139 | 127 | @Transactional |
140 | 128 | @CacheEvict(cacheNames = "roomById", key = "#roomId") |
141 | 129 | public void updateRoomStatus(Long memberId, Long roomId, |
142 | | - RoomUpdateStatusRequest roomUpdateStatusRequest) { |
| 130 | + RoomUpdateStatusRequest roomUpdateStatusRequest) { |
143 | 131 | participantService.validatePresenter(roomId, memberId); |
144 | 132 | Room room = roomReader.getById(roomId); |
145 | 133 |
|
@@ -215,9 +203,12 @@ private List<TopQnAResponse> getTopQnA(Long roomId) { |
215 | 203 | } |
216 | 204 |
|
217 | 205 | private Double calculateAnswerRate(Long totalQuestions, Long totalAnswerByQuestion) { |
218 | | - return (totalQuestions == 0) |
219 | | - ? 0.0 |
220 | | - : ((double)totalAnswerByQuestion / totalQuestions) * 100; |
| 206 | + if (totalQuestions == 0) { |
| 207 | + return 0.0; |
| 208 | + } |
| 209 | + |
| 210 | + double rate = ((double) totalAnswerByQuestion / totalQuestions) * 100; |
| 211 | + return Math.round(rate * 10.0) / 10.0; |
221 | 212 |
|
222 | 213 | } |
223 | 214 |
|
|
0 commit comments