Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion moamoa/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,7 @@ application-secret.properties
### 환경변수 파일 ###
**/application-secret.properties

*.zip
*.zip

### logs ###
logs/
1 change: 0 additions & 1 deletion moamoa/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ dependencies {
runtimeOnly 'com.mysql:mysql-connector-j'
implementation 'com.theokanning.openai-gpt3-java:service:0.18.2'


implementation 'com.amazonaws:aws-java-sdk-s3:1.12.112' // AWS S3 SDK 의존성 추가

}
Expand Down
351 changes: 0 additions & 351 deletions moamoa/logs/app.log

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
import com.likelion.moamoa.domain.chat.repository.ChatRepository;
import com.likelion.moamoa.domain.chat.web.dto.ChatMessageReq;
import com.likelion.moamoa.domain.chat.web.dto.ChatMessageRes;
import com.likelion.moamoa.domain.reference.repository.ReferenceRepository;
import com.likelion.moamoa.global.config.OpenAiConfig;
import com.likelion.moamoa.domain.recommendation.entity.Recommendation;
import com.likelion.moamoa.domain.recommendation.repository.RecommendationRepository;
import com.likelion.moamoa.domain.auth.entity.User;
import com.likelion.moamoa.domain.auth.exception.NotFoundLoginIdException;
import com.likelion.moamoa.domain.auth.repository.UserRepository;
import com.likelion.moamoa.domain.user.entity.User;
import com.likelion.moamoa.global.response.code.user.NotFoundEmailException;
import com.likelion.moamoa.domain.user.repository.UserRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
Expand All @@ -33,14 +34,15 @@ public class ChatServiceImpl implements ChatService {
private final ChatRepository chatRepository;
private final OpenAiConfig openAiConfig; // OpenAiConfig 주입
private final RestTemplate restTemplate; // RestTemplate 주입
private final ReferenceRepository referenceRepository;

// 메시지 전송 메서드
@Override
public ChatMessageRes sendMessage(ChatMessageReq chatMessageReq) {

// 사용자 검증 (findById는 기본키를 검증)
User user = userRepository.findById(chatMessageReq.getUserId())
.orElseThrow(NotFoundLoginIdException::new);
.orElseThrow(NotFoundEmailException::new);

// 추천 질문 검증
Recommendation recommendation = recommendationRepository.findById(chatMessageReq.getRecommendationId())
Expand Down Expand Up @@ -162,8 +164,8 @@ private String getResponseFromOpenAI(List<Map<String, String>> messages) {
throw new RuntimeException("GPT-4 API 호출 실패: " + e.getMessage());
}
}
@Override

@Override
public List<ChatMessageRes> getChatHistory(Long recommendation) {
List<Chat> chatLogs = chatRepository.findByRecommendation_RecommendationIdOrderByCreatedAtAsc(recommendation);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.likelion.moamoa.domain.reference.entity.Reference;
import jakarta.persistence.*;
import lombok.*;
import com.likelion.moamoa.domain.auth.entity.User;
import com.likelion.moamoa.domain.user.entity.User;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
@Repository
public interface FolderRepository extends JpaRepository<Folder, Long> {
// 폴더 이름 중복
boolean existsByFolderNameAndUser_UserId(String folderName, Long userUserId);
boolean existsByFolderNameAndUser_Id(String folderName, Long userUserId);
// userId로 폴더 조회
List<Folder> findAllByUser_UserId(Long userId);
List<Folder> findAllByUser_Id(Long userId);
// userId에 몇개의 폴더가 있는지 확인
Long countFolderByUser_UserId(Long userId);
Long countFolderByUser_Id(Long userId);
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.likelion.moamoa.domain.folder.service;

import com.likelion.moamoa.domain.auth.entity.User;
import com.likelion.moamoa.domain.auth.repository.UserRepository;
import com.likelion.moamoa.domain.user.entity.User;
import com.likelion.moamoa.domain.user.repository.UserRepository;
import com.likelion.moamoa.domain.folder.entity.Folder;
import com.likelion.moamoa.domain.folder.exception.DuplicateFolderNameException;
import com.likelion.moamoa.domain.folder.exception.InvalidFolderOrderException;
import com.likelion.moamoa.domain.folder.exception.NotFoundFolderException;
import com.likelion.moamoa.domain.folder.exception.NotFoundUserException;
import com.likelion.moamoa.global.response.code.folder.DuplicateFolderNameException;
import com.likelion.moamoa.global.response.code.folder.InvalidFolderOrderException;
import com.likelion.moamoa.global.response.code.folder.NotFoundFolderException;
import com.likelion.moamoa.global.response.code.folder.NotFoundUserException;
import com.likelion.moamoa.domain.folder.repository.FolderRepository;
import com.likelion.moamoa.domain.folder.web.dto.*;
import com.likelion.moamoa.domain.folder.web.dto.FolderSummaryRes.FolderSummary;
Expand Down Expand Up @@ -35,13 +35,13 @@ public CreateFolderRes createFolder(Long userId, CreateFolderReq createFolderReq
.orElseThrow(NotFoundUserException::new);

// 폴더 중복 예외
if(folderRepository.existsByFolderNameAndUser_UserId(createFolderReq.getFolderName(), userId)) {
if(folderRepository.existsByFolderNameAndUser_Id(createFolderReq.getFolderName(), userId)) {
throw new DuplicateFolderNameException();
}

Folder folder = Folder.builder()
.folderName(createFolderReq.getFolderName())
.folderOrder(folderRepository.countFolderByUser_UserId(userId)) // 0번부터 시작
.folderOrder(folderRepository.countFolderByUser_Id(userId)) // 0번부터 시작
.user(user)
.build();

Expand All @@ -50,7 +50,7 @@ public CreateFolderRes createFolder(Long userId, CreateFolderReq createFolderReq

// Folder Entity -> CreateFolderRes로 변환
return new CreateFolderRes(
saveFolder.getUser().getUserId(),
saveFolder.getUser().getId(),
saveFolder.getFolderId(),
saveFolder.getFolderName(),
saveFolder.getFolderOrder()
Expand All @@ -64,7 +64,7 @@ public FolderSummaryRes getAllByFolder(Long userId) {
User user = userRepository.findById(userId)
.orElseThrow(NotFoundUserException::new);

List<Folder> folders = folderRepository.findAllByUser_UserId(userId);
List<Folder> folders = folderRepository.findAllByUser_Id(userId);
List<FolderSummary> folderSummaryList = new ArrayList<>();

for (Folder folder : folders) {
Expand All @@ -76,7 +76,7 @@ public FolderSummaryRes getAllByFolder(Long userId) {
folderSummaryList.add(folderSummary);
}

return new FolderSummaryRes(user.getUserId(), folderSummaryList);
return new FolderSummaryRes(user.getId(), folderSummaryList);
}

// 폴더 이름 변경
Expand All @@ -90,20 +90,20 @@ public ModifyFolderRes modifyFolderName(
Folder folder = folderRepository.findById(folderId)
.orElseThrow(NotFoundFolderException::new);

if (!folder.getUser().getUserId().equals(userId)) {
if (!folder.getUser().getId().equals(userId)) {
throw new NotFoundUserException();
}

// 폴더 이름 중복 예외
if(folderRepository.existsByFolderNameAndUser_UserId(modifyFolderReq.getFolderName(), userId)) {
if(folderRepository.existsByFolderNameAndUser_Id(modifyFolderReq.getFolderName(), userId)) {
throw new DuplicateFolderNameException();
}

String folderNameBefore = folder.getFolderName();
folder.setFolderName(modifyFolderReq.getFolderName());

return new ModifyFolderRes(
folder.getUser().getUserId(),
folder.getUser().getId(),
folder.getFolderId(),
folderNameBefore,
folder.getFolderName()
Expand All @@ -117,13 +117,13 @@ public void deleteOneFolder(Long userId, Long folderId) {
Folder folder = folderRepository.findById(folderId)
.orElseThrow(NotFoundFolderException::new);

if (!folder.getUser().getUserId().equals(userId)) {
if (!folder.getUser().getId().equals(userId)) {
throw new NotFoundUserException();
}

// 폴더 삭제하면 모두 앞당기기
Long orderValue = folder.getFolderOrder();
folderRepository.findAllByUser_UserId(userId).stream()
folderRepository.findAllByUser_Id(userId).stream()
.filter(f -> f.getFolderOrder() > orderValue)
.forEach(f -> f.setFolderOrder(f.getFolderOrder() - 1));

Expand All @@ -142,31 +142,31 @@ public ChangeFolderRes changeFolderOrder(Long userId, Long folderId, ChangeFolde
Folder folder = folderRepository.findById(folderId)
.orElseThrow(NotFoundFolderException::new);

if (!folder.getUser().getUserId().equals(userId)) {
if (!folder.getUser().getId().equals(userId)) {
throw new NotFoundUserException();
}

Long orderBefore = folder.getFolderOrder();
Long orderAfter = changeFolderReq.getFolderOrderAfter();

if (orderAfter < 0 || orderAfter >= folderRepository.countFolderByUser_UserId(userId)) {
if (orderAfter < 0 || orderAfter >= folderRepository.countFolderByUser_Id(userId)) {
throw new InvalidFolderOrderException();
}

if (orderBefore < orderAfter) {
folderRepository.findAllByUser_UserId(userId).stream()
folderRepository.findAllByUser_Id(userId).stream()
.filter(f -> f.getFolderOrder() > orderBefore && f.getFolderOrder() <= orderAfter)
.forEach(f -> f.setFolderOrder(f.getFolderOrder() - 1));
} else {
folderRepository.findAllByUser_UserId(userId).stream()
folderRepository.findAllByUser_Id(userId).stream()
.filter(f -> f.getFolderOrder() >= orderAfter && f.getFolderOrder() < orderBefore)
.forEach(f -> f.setFolderOrder(f.getFolderOrder() + 1));
}

folder.setFolderOrder(orderAfter);

return new ChangeFolderRes(
folder.getUser().getUserId(),
folder.getUser().getId(),
folder.getFolderId(),
orderBefore,
folder.getFolderOrder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import com.likelion.moamoa.domain.recommendation.service.OpenAiService;
import com.likelion.moamoa.domain.folder.entity.Folder;
import com.likelion.moamoa.domain.folder.repository.FolderRepository;
import com.likelion.moamoa.domain.folder.exception.NotFoundFolderException;
import com.likelion.moamoa.global.response.code.folder.NotFoundFolderException;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
Expand Down
Loading