Skip to content

Commit 154d03c

Browse files
committed
Fix: ChatMessage, ChatRoom μˆ˜μ •
1 parent 0752b7c commit 154d03c

File tree

6 files changed

+73
-13
lines changed

6 files changed

+73
-13
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package cmf.commitField.domain.Timer.controller;
2+
3+
import org.springframework.web.bind.annotation.RestController;
4+
5+
@RestController
6+
public class TimerController {
7+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package cmf.commitField.domain.Timer.dto;
2+
3+
import lombok.Getter;
4+
import lombok.Setter;
5+
6+
import java.time.LocalDateTime;
7+
8+
@Getter
9+
@Setter
10+
public class TimerDto {
11+
private LocalDateTime startTime;
12+
private LocalDateTime endTime;
13+
private String totalTime;
14+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package cmf.commitField.domain.Timer.entity;
2+
3+
import cmf.commitField.domain.user.entity.User;
4+
import jakarta.persistence.GeneratedValue;
5+
import jakarta.persistence.GenerationType;
6+
import jakarta.persistence.Id;
7+
import lombok.AllArgsConstructor;
8+
import lombok.Getter;
9+
import lombok.NoArgsConstructor;
10+
import lombok.Setter;
11+
12+
import java.time.LocalDateTime;
13+
14+
@Getter
15+
@Setter
16+
@NoArgsConstructor
17+
@AllArgsConstructor
18+
public class Timer {
19+
@Id
20+
@GeneratedValue(strategy = GenerationType.IDENTITY)
21+
private Long id;
22+
23+
private User user;
24+
private LocalDateTime startTime;
25+
private LocalDateTime endTime;
26+
private String totalTime;
27+
28+
// 타이머 μ’…λ£Œ λ©”μ„œλ“œ
29+
public void stop(LocalDateTime endTime, String totalTime) {
30+
this.endTime = endTime;
31+
this.totalTime = totalTime;
32+
}
33+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package cmf.commitField.domain.Timer.service;
2+
3+
import org.springframework.stereotype.Service;
4+
5+
@Service
6+
public class TimerService {
7+
8+
}

β€Žsrc/main/java/cmf/commitField/domain/chat/chatMessage/service/ChatMessageServiceImpl.javaβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public class ChatMessageServiceImpl implements ChatMessageService {
3030
private final ChatMessageCustomRepository chatMessageCustomRepository;
3131

3232
@Override
33+
@Transactional
3334
public ChatMsgResponse sendMessage(ChatMsgRequest message, Long userId, Long roomId) {
3435
User findUser = userRepository.findById(userId)
3536
.orElseThrow(() -> new CustomException(ErrorCode.NOT_FOUND_USER));

β€Žsrc/main/java/cmf/commitField/domain/chat/chatRoom/service/ChatRoomServiceImpl.javaβ€Ž

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -141,36 +141,33 @@ public void outRoom(Long userId, Long roomId) {
141141
ChatRoom room = chatRoomRepository
142142
.findChatRoomById(roomId)
143143
.orElseThrow(() -> new CustomException(ErrorCode.NO_ROOM_FOUND));
144-
// λ°©μž₯이 μ•„λ‹ˆλΌλ©΄
145-
if (!Objects.equals(room.getRoomCreator(), userId)) {
146-
userChatRoomRepository.deleteUserChatRoomByChatRoom_IdAndUserId(roomId, userId);
147-
return;
148-
}
149-
// λ°©μž₯이라면 λ°© μ‚­μ œ
150-
chatMessageRepository.deleteChatMsgByChatRoom_Id(roomId); //λ°© μ‚­μ œ μ‹œ μ±„νŒ…λ„ λ‹€ μ‚­μ œ(ν•„μš” μ‹œ)
151-
userChatRoomRepository.deleteUserChatRoomByChatRoom_Id(roomId);
152-
chatRoomRepository.deleteById(roomId);
153144

154-
}
145+
// 방의 μƒμ„±μžμ™€ ν˜„μž¬ μ‚¬μš©μžκ°€ 같은지 확인
146+
boolean isCreator = Objects.equals(room.getRoomCreator(), userId);
155147

148+
// λ°©μž₯ 여뢀와 상관없이 항상 μ‚¬μš©μž-μ±„νŒ…λ°© μ—°κ²°λ§Œ 제거
149+
// 방이 μ‚­μ œλ˜μ§€ μ•Šκ³  λͺ©λ‘μ— 계속 ν‘œμ‹œλ¨
150+
userChatRoomRepository.deleteUserChatRoomByChatRoom_IdAndUserId(roomId, userId);
151+
}
156152

153+
// λ°© μ‚­μ œλŠ” λ³„λ„μ˜ λ©”μ†Œλ“œλ‘œ 뢄리
157154
@Override
158155
@Transactional
159156
public void deleteRoom(Long userId, Long roomId) {
160157
ChatRoom room = chatRoomRepository
161158
.findChatRoomById(roomId)
162159
.orElseThrow(() -> new CustomException(ErrorCode.NO_ROOM));
160+
163161
//λ°©μž₯이 아닐 경우, μ‚­μ œ λΆˆκ°€
164162
if (!Objects.equals(room.getRoomCreator(), userId)) {
165163
throw new CustomException(ErrorCode.NOT_ROOM_CREATOR);
166164
}
165+
167166
//λͺ¨λ“  μ‚¬μš©μž 제거 ν›„ λ°© μ‚­μ œ
168167
chatMessageRepository.deleteChatMsgByChatRoom_Id(roomId);
169168
userChatRoomRepository.deleteUserChatRoomByChatRoom_Id(roomId);
170169
chatRoomRepository.deleteById(roomId);
171-
172-
}
173-
170+
}
174171

175172

176173
}

0 commit comments

Comments
Β (0)