Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
//import space.space_spring.domain.discord.application.port.out.CreateDiscordThreadPort;
import space.space_spring.domain.discord.application.port.out.CreateDiscordWebHookMessageCommand;
import space.space_spring.domain.discord.application.port.out.CreateDiscordWebHookMessagePort;
import space.space_spring.domain.post.application.port.in.Tag.LoadTagUseCase;
import space.space_spring.domain.post.application.port.out.LoadBoardPort;
import space.space_spring.domain.post.application.port.out.LoadTagPort;
import space.space_spring.domain.post.domain.AttachmentType;
Expand All @@ -21,7 +20,6 @@

import java.util.Comparator;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;

import static space.space_spring.global.common.response.status.BaseExceptionResponseStatus.BOARD_NOT_EXIST;
import static space.space_spring.global.common.response.status.BaseExceptionResponseStatus.DISCORD_THREAD_CREATE_FAIL;
Expand Down Expand Up @@ -83,7 +81,7 @@ private CreateDiscordWebHookMessageCommand mapToWebHookMessage(CreatePostInDisco
.map(attachment->attachment.getAttachmentUrl()).toList()
)
.discordTags(
loadTagPort.loadById(command.getTagIds()).stream().map(tag->tag.getDiscordId()).toList()
loadTagPort.loadAllByIds(command.getTagIds()).stream().map(tag->tag.getDiscordId()).toList()
)
.build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,16 +75,17 @@ public ReadHomeResult readHome(Long spaceMemberId, Long spaceId) {
List<SubscriptionSummary> subscriptions = new ArrayList<>();
List<Subscription> subscribedBoards = loadSubscriptionPort.loadBySpaceMember(spaceMemberId);
for (Subscription subscription : subscribedBoards) {
Board board = loadBoardPort.loadById(subscription.getBoardId());
Optional<Tag> tag = loadTagPort.loadByBoardId(board.getId());

// 각 게시판에서 제일 최신 게시물 정보 가져오기
Optional<Post> latestPost;
String postTitle = "";
String tagName = "";
if (tag.isPresent()) {
tagName = tag.get().getTagName();
latestPost = loadPostPort.loadLatestPostByBoardIdAndTagId(board.getId(), tag.get().getId());

Board board = loadBoardPort.loadById(subscription.getBoardId());
Long tagId = subscription.getTagId();

if (tagId != null) {
Tag tag = loadTagPort.loadById(subscription.getTagId());
tagName = tag.getTagName();
latestPost = loadPostPort.loadLatestPostByBoardIdAndTagId(board.getId(), tag.getId());
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

if (latestPost.isPresent()) postTitle = latestPost.get().getTitle();
} else {
latestPost = loadPostPort.loadLatestPostsByBoardIds(List.of(board.getId()), 1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,13 @@
import static space.space_spring.global.common.response.status.BaseExceptionResponseStatus.BOARD_NOT_FOUND;
import static space.space_spring.global.common.response.status.BaseExceptionResponseStatus.TAG_NOT_FOUND;

import java.util.Optional;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
import space.space_spring.domain.post.adapter.out.persistence.board.BoardJpaEntity;
import space.space_spring.domain.post.adapter.out.persistence.board.SpringDataBoardRepository;
import space.space_spring.domain.post.application.port.out.CreateTagPort;
import space.space_spring.domain.post.application.port.out.LoadTagPort;
import space.space_spring.domain.post.domain.Tag;
import space.space_spring.global.common.enumStatus.BaseStatusType;
import space.space_spring.global.exception.CustomException;

import java.util.List;
Expand Down Expand Up @@ -74,15 +72,15 @@ public List<Tag> loadByDiscordId(List<Long> discordIdOfTag) {
}

@Override
public List<Tag> loadById(List<Long> tagIds) {
public List<Tag> loadAllByIds(List<Long> tagIds) {
List<TagJpaEntity> allByIdAndStatus = tagRepository.findAllByIdAndStatus(tagIds, ACTIVE);

return allByIdAndStatus.stream().map(tagMapper::toDomainEntity).toList();

}

@Override
public Optional<Tag> loadByBoardId(Long boardId) {
return tagRepository.findByBoardId(boardId).map(tagMapper::toDomainEntity);
public Tag loadById(Long tagId) {
return tagRepository.findByIdAndStatus(tagId, ACTIVE).map(tagMapper::toDomainEntity).orElseThrow(() -> new CustomException(TAG_NOT_FOUND));
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
package space.space_spring.domain.post.application.port.out;

import com.amazonaws.services.kms.model.ListGrantsRequest;
import java.util.Optional;
import space.space_spring.domain.post.domain.Board;
import space.space_spring.domain.post.domain.Tag;

import java.util.List;
Expand All @@ -16,7 +13,7 @@ public interface LoadTagPort {

List<Tag> loadByDiscordId(List<Long> discordIdOfTag);

List<Tag> loadById(List<Long> tagIds);
List<Tag> loadAllByIds(List<Long> tagIds);

Optional<Tag> loadByBoardId(Long boardId);
Tag loadById(Long boardId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public void updatePostFromWeb(UpdatePostCommand command) {

// tag 수정
updatePostTagPort.updatePostTag(post.getId(), command.getTagIds());
List<Tag> tags = loadTagPort.loadById(command.getTagIds());
List<Tag> tags = loadTagPort.loadAllByIds(command.getTagIds());

// 6. TODO:디스코드로 게시글 수정 정보 전송
List<String> newAttachmentUrls = new ArrayList<>();
Expand Down