start backend

This commit is contained in:
SlimusMinus
2026-03-26 00:21:30 +03:00
parent 611b1c82ad
commit 263242e469
56 changed files with 1524 additions and 23 deletions

View File

@@ -0,0 +1,37 @@
package com.krylov.refound.controller;
import com.krylov.refound.dto.ChatMessage;
import com.krylov.refound.entity.Message;
import com.krylov.refound.entity.User;
import com.krylov.refound.repository.UserRepository;
import com.krylov.refound.service.MessageService;
import java.security.Principal;
import java.util.Optional;
import lombok.RequiredArgsConstructor;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Controller;
@Controller
@RequiredArgsConstructor
public class ChatController {
private final MessageService service;
private final SimpMessagingTemplate messagingTemplate;
private final UserRepository userRepository;
@MessageMapping("/chat")
public void send(@Payload ChatMessage message, Principal principal) {
Optional<User> sender = userRepository.findByEmail(principal.getName());
Message saved = new Message();
if(sender.isPresent()){
saved = service.send(message.getReceiverId(), message.getContent());
}
// отправка получателю
messagingTemplate.convertAndSend("/topic/messages/" + message.getReceiverId(), saved);
}
}