diff --git a/src/main/java/stackpot/stackpot/badge/controller/PotBadgeMemberController.java b/src/main/java/stackpot/stackpot/badge/controller/PotBadgeMemberController.java index f58fd91c..cfef91f9 100644 --- a/src/main/java/stackpot/stackpot/badge/controller/PotBadgeMemberController.java +++ b/src/main/java/stackpot/stackpot/badge/controller/PotBadgeMemberController.java @@ -30,24 +30,32 @@ public class PotBadgeMemberController { @GetMapping("/pots/{pot_id}") public ResponseEntity>> getBadgeMembersByPotId( @PathVariable("pot_id") Long potId) { - List badgeMembers = potBadgeMemberService.getBadgeMembersByPotId(potId); return ResponseEntity.ok(ApiResponse.onSuccess(badgeMembers)); } - @Operation(summary = "팟에서 가장 많은 `투두를 완료한' 멤버에게 뱃지 부여") + @Operation(summary = "팟에서 가장 많은 `투두를 완료한' 멤버에게 '할 일 정복자' 뱃지 부여") @PostMapping("/{potId}") @ApiErrorCodeExamples({ ErrorStatus.BADGE_NOT_FOUND, ErrorStatus.BADGE_INSUFFICIENT_TODO_COUNTS, ErrorStatus.POT_MEMBER_NOT_FOUND }) - public ResponseEntity> assignBadgeToTopMembers( - @PathVariable Long potId) { + public ResponseEntity> assignBadgeToTopMembers(@PathVariable Long potId) { badgeService.assignBadgeToTopMembers(potId); return ResponseEntity.ok(ApiResponse.onSuccess(null)); } - + @Operation(summary = "전체 프로젝트 업무 수 대비 개인이 담당한 업무 수 비율이 큰 사람에게 '없어서는 안 될 능력자' 뱃지 부여") + @PostMapping("/{potId}/task-badge") + @ApiErrorCodeExamples({ + ErrorStatus.BADGE_NOT_FOUND, + ErrorStatus.BADGE_INSUFFICIENT_TOP_MEMBERS, + ErrorStatus.POT_MEMBER_NOT_FOUND + }) + public ResponseEntity> assignTaskBadgeToTopMembers(@PathVariable Long potId) { + badgeService.assignTaskBadgeToTopMembers(potId); + return ResponseEntity.ok(ApiResponse.onSuccess(null)); + } } diff --git a/src/main/java/stackpot/stackpot/badge/repository/PotMemberBadgeRepository.java b/src/main/java/stackpot/stackpot/badge/repository/PotMemberBadgeRepository.java index 8dd3c62b..180fac28 100644 --- a/src/main/java/stackpot/stackpot/badge/repository/PotMemberBadgeRepository.java +++ b/src/main/java/stackpot/stackpot/badge/repository/PotMemberBadgeRepository.java @@ -18,6 +18,7 @@ public interface PotMemberBadgeRepository extends JpaRepository potMemberIds); - + @Query("SELECT CASE WHEN count(b) > 0 THEN true ELSE false END FROM PotMemberBadge b WHERE b.potMember.potMemberId = :potMemberId AND b.badge.badgeId = :badgeId") + boolean existsByBadgeAndPotMember(@Param("potMemberId") Long potMemberId, @Param("badgeId") Long badgeId); } diff --git a/src/main/java/stackpot/stackpot/badge/service/BadgeService.java b/src/main/java/stackpot/stackpot/badge/service/BadgeService.java index 9d7482c4..f791be89 100644 --- a/src/main/java/stackpot/stackpot/badge/service/BadgeService.java +++ b/src/main/java/stackpot/stackpot/badge/service/BadgeService.java @@ -3,7 +3,8 @@ import stackpot.stackpot.badge.entity.Badge; public interface BadgeService { - Badge getDefaultBadge(); + Badge getBadge(Long badgeId); void assignBadgeToTopMembers(Long potId); + void assignTaskBadgeToTopMembers(Long potId); } diff --git a/src/main/java/stackpot/stackpot/badge/service/BadgeServiceImpl.java b/src/main/java/stackpot/stackpot/badge/service/BadgeServiceImpl.java index 8980f689..16c66a5e 100644 --- a/src/main/java/stackpot/stackpot/badge/service/BadgeServiceImpl.java +++ b/src/main/java/stackpot/stackpot/badge/service/BadgeServiceImpl.java @@ -12,6 +12,7 @@ import stackpot.stackpot.badge.repository.PotMemberBadgeRepository; import stackpot.stackpot.pot.entity.mapping.PotMember; import stackpot.stackpot.pot.repository.PotMemberRepository; +import stackpot.stackpot.task.service.TaskQueryService; import stackpot.stackpot.todo.entity.enums.TodoStatus; import stackpot.stackpot.todo.repository.UserTodoRepository; @@ -29,12 +30,11 @@ public class BadgeServiceImpl implements BadgeService { private final PotMemberRepository potMemberRepository; private final PotMemberBadgeRepository potMemberBadgeRepository; private final PotBadgeMemberConverter potBadgeMemberConverter; - - private static final Long DEFAULT_BADGE_ID = 1L; + private final TaskQueryService taskQueryService; @Override - public Badge getDefaultBadge() { - return badgeRepository.findBadgeByBadgeId(DEFAULT_BADGE_ID) + public Badge getBadge(Long badgeId) { + return badgeRepository.findBadgeByBadgeId(badgeId) .orElseThrow(() -> new PotHandler(BADGE_NOT_FOUND)); } @@ -57,10 +57,10 @@ public void assignBadgeToTopMembers(Long potId) { List topPotMembers = topUserIds.stream() .map(userId -> potMemberRepository.findByPot_PotIdAndUser_Id(potId, userId) .orElseThrow(() -> new PotHandler(ErrorStatus.POT_MEMBER_NOT_FOUND))) - .collect(Collectors.toList()); + .toList(); - // 4. 기본 배지 부여 - Badge badge = getDefaultBadge(); + // 4. Todo 배지 부여 + Badge badge = getBadge(1L); for (PotMember potMember : topPotMembers) { PotMemberBadge potMemberBadge = PotMemberBadge.builder() .badge(badge) @@ -69,5 +69,28 @@ public void assignBadgeToTopMembers(Long potId) { potMemberBadgeRepository.save(potMemberBadge); } } + + @Transactional + @Override + public void assignTaskBadgeToTopMembers(Long potId) { + List potMemberIds = potMemberRepository.selectPotMemberIdsByPotId(potId); + if (potMemberIds.isEmpty()) { + throw new PotHandler(ErrorStatus.POT_MEMBER_NOT_FOUND); + } + + List top2PotMembers = taskQueryService.getTop2TaskCountByPotMemberId(potMemberIds); + if (top2PotMembers.size() < 2) { + throw new PotHandler(ErrorStatus.BADGE_INSUFFICIENT_TOP_MEMBERS); + } + + Badge badge = getBadge(2L); + List newBadges = top2PotMembers.stream() + .filter(pm -> !potMemberBadgeRepository.existsByBadgeAndPotMember(pm.getPotMemberId(),badge.getBadgeId())) + .map(pm -> PotMemberBadge.builder().badge(badge).potMember(pm).build()) + .collect(Collectors.toList()); + if (!newBadges.isEmpty()) { + potMemberBadgeRepository.saveAll(newBadges); + } + } } diff --git a/src/main/java/stackpot/stackpot/feed/converter/FeedCommentConverter.java b/src/main/java/stackpot/stackpot/feed/converter/FeedCommentConverter.java index 0182fa88..d3fe384b 100644 --- a/src/main/java/stackpot/stackpot/feed/converter/FeedCommentConverter.java +++ b/src/main/java/stackpot/stackpot/feed/converter/FeedCommentConverter.java @@ -18,8 +18,7 @@ public class FeedCommentConverter { public FeedCommentResponseDto.AllFeedCommentDto toAllFeedCommentDto(FeedCommentDto.FeedCommentInfoDto dto, Long currentUserId) { return FeedCommentResponseDto.AllFeedCommentDto.builder() .userId(dto.getUserId()) - .userName(dto.getUserName() + " " + dto.getRole().getVegetable()) - .role(dto.getRole()) + .userName(dto.getUserName() + " 새싹") .isCommentWriter(Objects.equals(dto.getUserId(), currentUserId)) .isFeedWriter(Objects.equals(dto.getFeedWriterId(), dto.getUserId())) .commentId(dto.getCommentId()) @@ -30,12 +29,11 @@ public FeedCommentResponseDto.AllFeedCommentDto toAllFeedCommentDto(FeedCommentD .build(); } - public FeedCommentResponseDto.FeedCommentCreateDto toFeedCommentCreateDto(Long userId, String userName, Role role, Boolean isWriter, + public FeedCommentResponseDto.FeedCommentCreateDto toFeedCommentCreateDto(Long userId, String userName, Boolean isWriter, Long commentId, String comment, LocalDateTime createdAt) { return FeedCommentResponseDto.FeedCommentCreateDto.builder() .userId(userId) - .userName(userName) - .role(role) + .userName(userName + " 새싹") .isWriter(isWriter) .commentId(commentId) .comment(comment) @@ -43,13 +41,12 @@ public FeedCommentResponseDto.FeedCommentCreateDto toFeedCommentCreateDto(Long u .build(); } - public FeedCommentResponseDto.FeedReplyCommentCreateDto toFeedReplyCommentCreateDto(Long userId, String userName, Role role, Boolean isWriter, + public FeedCommentResponseDto.FeedReplyCommentCreateDto toFeedReplyCommentCreateDto(Long userId, String userName, Boolean isWriter, Long commentId, String comment, Long parentCommentId, LocalDateTime createdAt) { return FeedCommentResponseDto.FeedReplyCommentCreateDto.builder() .userId(userId) - .userName(userName) - .role(role) + .userName(userName + " 새싹") .isWriter(isWriter) .commentId(commentId) .comment(comment) diff --git a/src/main/java/stackpot/stackpot/feed/dto/FeedCommentDto.java b/src/main/java/stackpot/stackpot/feed/dto/FeedCommentDto.java index e2b6d895..2399c364 100644 --- a/src/main/java/stackpot/stackpot/feed/dto/FeedCommentDto.java +++ b/src/main/java/stackpot/stackpot/feed/dto/FeedCommentDto.java @@ -17,7 +17,6 @@ public class FeedCommentDto { public static class FeedCommentInfoDto { private Long userId; private String userName; - private Role role; private Long feedWriterId; // Feed 작성자 private Long commentId; private String comment; diff --git a/src/main/java/stackpot/stackpot/feed/dto/FeedCommentInfoDto.java b/src/main/java/stackpot/stackpot/feed/dto/FeedCommentInfoDto.java index 33f01746..3b475083 100644 --- a/src/main/java/stackpot/stackpot/feed/dto/FeedCommentInfoDto.java +++ b/src/main/java/stackpot/stackpot/feed/dto/FeedCommentInfoDto.java @@ -16,7 +16,6 @@ public class FeedCommentInfoDto { private Long userId; private String userName; - private Role role; private Long feedWriterId; private Long commentId; private String comment; diff --git a/src/main/java/stackpot/stackpot/feed/dto/FeedCommentResponseDto.java b/src/main/java/stackpot/stackpot/feed/dto/FeedCommentResponseDto.java index af1b486b..b9678e91 100644 --- a/src/main/java/stackpot/stackpot/feed/dto/FeedCommentResponseDto.java +++ b/src/main/java/stackpot/stackpot/feed/dto/FeedCommentResponseDto.java @@ -18,7 +18,6 @@ public class FeedCommentResponseDto { public static class AllFeedCommentDto { private Long userId; private String userName; - private Role role; private Boolean isCommentWriter; private Boolean isFeedWriter; private Long commentId; @@ -35,7 +34,6 @@ public static class AllFeedCommentDto { public static class FeedCommentCreateDto { private Long userId; private String userName; - private Role role; private Boolean isWriter; private Long commentId; private String comment; @@ -49,7 +47,6 @@ public static class FeedCommentCreateDto { public static class FeedReplyCommentCreateDto { private Long userId; private String userName; - private Role role; private Boolean isWriter; private Long commentId; private String comment; diff --git a/src/main/java/stackpot/stackpot/feed/repository/FeedCommentRepository.java b/src/main/java/stackpot/stackpot/feed/repository/FeedCommentRepository.java index 3d0632d7..5744e9a0 100644 --- a/src/main/java/stackpot/stackpot/feed/repository/FeedCommentRepository.java +++ b/src/main/java/stackpot/stackpot/feed/repository/FeedCommentRepository.java @@ -14,7 +14,7 @@ public interface FeedCommentRepository extends JpaRepository @Query("select fc from FeedComment fc where fc.id = :commentId") Optional findByCommentId(@Param("commentId") Long commentId); - @Query("select new stackpot.stackpot.feed.dto.FeedCommentInfoDto(fc.user.id, fc.user.nickname, fc.user.role, " + + @Query("select new stackpot.stackpot.feed.dto.FeedCommentDto$FeedCommentInfoDto(fc.user.id, fc.user.nickname, " + "fc.feed.user.id, fc.id, fc.comment, fc.parent.id, fc.createdAt) " + "from FeedComment fc where fc.feed.feedId = :feedId") List findAllCommentInfoDtoByFeedId(@Param("feedId") Long feedId); @@ -22,3 +22,4 @@ public interface FeedCommentRepository extends JpaRepository @Query("SELECT COUNT(fc) FROM FeedComment fc WHERE fc.feed.feedId = :feedId") Long countByFeedId(@Param("feedId") Long feedId); } + diff --git a/src/main/java/stackpot/stackpot/feed/service/FeedCommandServiceImpl.java b/src/main/java/stackpot/stackpot/feed/service/FeedCommandServiceImpl.java index ddb360bf..129deb25 100644 --- a/src/main/java/stackpot/stackpot/feed/service/FeedCommandServiceImpl.java +++ b/src/main/java/stackpot/stackpot/feed/service/FeedCommandServiceImpl.java @@ -211,7 +211,7 @@ public boolean toggleLike(Long feedId) { FeedLike savedFeedLike = feedLikeRepository.save(feedLike); NotificationResponseDto.UnReadNotificationDto dto = notificationCommandService.createFeedLikeNotification( - feed.getFeedId(), savedFeedLike.getLikeId(), user.getId(), user.getRole()); + feed.getFeedId(), savedFeedLike.getLikeId(), user.getId()); applicationEventPublisher.publishEvent(new FeedLikeEvent(feed.getUser().getUserId(), dto)); diff --git a/src/main/java/stackpot/stackpot/feed/service/FeedCommentCommandService.java b/src/main/java/stackpot/stackpot/feed/service/FeedCommentCommandService.java index 2b38bc20..690e4c16 100644 --- a/src/main/java/stackpot/stackpot/feed/service/FeedCommentCommandService.java +++ b/src/main/java/stackpot/stackpot/feed/service/FeedCommentCommandService.java @@ -48,11 +48,11 @@ public FeedCommentResponseDto.FeedCommentCreateDto createFeedComment(FeedComment Boolean isWriter = Objects.equals(user.getId(), feed.getUser().getUserId()); NotificationResponseDto.UnReadNotificationDto dto = notificationCommandService.createdFeedCommentNotification( - feedId, feedComment.getId(), user.getId(), user.getRole()); + feedId, feedComment.getId(), user.getId()); applicationEventPublisher.publishEvent(new FeedCommentEvent(feed.getUser().getUserId(), null, dto)); - return feedCommentConverter.toFeedCommentCreateDto(user.getUserId(), user.getNickname(), user.getRole(), isWriter, + return feedCommentConverter.toFeedCommentCreateDto(user.getUserId(), user.getNickname(), isWriter, feedComment.getId(), comment, feedComment.getCreatedAt()); } @@ -73,11 +73,11 @@ public FeedCommentResponseDto.FeedReplyCommentCreateDto createFeedReplyComment(L Boolean isWriter = Objects.equals(user.getId(), feed.getUser().getUserId()); NotificationResponseDto.UnReadNotificationDto dto = notificationCommandService.createdFeedCommentNotification( - feedId, feedComment.getId(), user.getId(), user.getRole()); + feedId, feedComment.getId(), user.getId()); applicationEventPublisher.publishEvent(new FeedCommentEvent(feed.getUser().getUserId(), parent.getUser().getUserId(), dto)); - return feedCommentConverter.toFeedReplyCommentCreateDto(user.getUserId(), user.getNickname(), user.getRole(), isWriter, + return feedCommentConverter.toFeedReplyCommentCreateDto(user.getUserId(), user.getNickname(), isWriter, feedComment.getId(), comment, parent.getId(), feedComment.getCreatedAt()); } diff --git a/src/main/java/stackpot/stackpot/notification/converter/NotificationConverter.java b/src/main/java/stackpot/stackpot/notification/converter/NotificationConverter.java index 27bbbb68..962e8cc3 100644 --- a/src/main/java/stackpot/stackpot/notification/converter/NotificationConverter.java +++ b/src/main/java/stackpot/stackpot/notification/converter/NotificationConverter.java @@ -18,8 +18,7 @@ public NotificationResponseDto.UnReadNotificationDto toUnReadNotificationDto(Not return NotificationResponseDto.UnReadNotificationDto.builder() .notificationId(unReadNotificationDto.getNotificationId()) .potOrFeedId(unReadNotificationDto.getPotOrFeedId()) - .role(unReadNotificationDto.getRole()) - .userName(unReadNotificationDto.getUserName() + " " + unReadNotificationDto.getRole().getVegetable()) + .userName(unReadNotificationDto.getUserName() + " 새싹") .type(unReadNotificationDto.getType()) .content(unReadNotificationDto.getContent()) .createdAt(unReadNotificationDto.getCreatedAt().format(DATE_FORMATTER)) @@ -27,12 +26,11 @@ public NotificationResponseDto.UnReadNotificationDto toUnReadNotificationDto(Not } public NotificationResponseDto.UnReadNotificationDto toUnReadNotificationDto( - Long notificationId, Long potOrFeedId, Role role, String userName, String type, String content, LocalDateTime createdAt) { + Long notificationId, Long potOrFeedId, String userName, String type, String content, LocalDateTime createdAt) { return NotificationResponseDto.UnReadNotificationDto.builder() .notificationId(notificationId) .potOrFeedId(potOrFeedId) - .role(role) - .userName(userName + " " + role.getVegetable()) + .userName(userName + " 새싹") .type(type) .content(content) .createdAt(createdAt.format(DATE_FORMATTER)) diff --git a/src/main/java/stackpot/stackpot/notification/dto/NotificationDto.java b/src/main/java/stackpot/stackpot/notification/dto/NotificationDto.java index 33a5ced8..e8845a5f 100644 --- a/src/main/java/stackpot/stackpot/notification/dto/NotificationDto.java +++ b/src/main/java/stackpot/stackpot/notification/dto/NotificationDto.java @@ -17,7 +17,6 @@ public class NotificationDto { public static class UnReadNotificationDto { private Long notificationId; private Long potOrFeedId; - private Role role; private String userName; private String type; private String content; diff --git a/src/main/java/stackpot/stackpot/notification/dto/NotificationResponseDto.java b/src/main/java/stackpot/stackpot/notification/dto/NotificationResponseDto.java index 05d0d674..4d9b8987 100644 --- a/src/main/java/stackpot/stackpot/notification/dto/NotificationResponseDto.java +++ b/src/main/java/stackpot/stackpot/notification/dto/NotificationResponseDto.java @@ -17,7 +17,6 @@ public class NotificationResponseDto { public static class UnReadNotificationDto { private Long notificationId; private Long potOrFeedId; - private Role role; private String userName; private String type; private String content; diff --git a/src/main/java/stackpot/stackpot/notification/repository/FeedCommentNotificationRepository.java b/src/main/java/stackpot/stackpot/notification/repository/FeedCommentNotificationRepository.java index 9b4048dd..af497283 100644 --- a/src/main/java/stackpot/stackpot/notification/repository/FeedCommentNotificationRepository.java +++ b/src/main/java/stackpot/stackpot/notification/repository/FeedCommentNotificationRepository.java @@ -13,7 +13,7 @@ public interface FeedCommentNotificationRepository extends JpaRepository { @Query("SELECT new stackpot.stackpot.notification.dto.NotificationDto$UnReadNotificationDto(" + - "fcn.id, fcn.feedComment.feed.feedId, fcn.feedComment.user.role," + + "fcn.id, fcn.feedComment.feed.feedId, " + "fcn.feedComment.user.nickname, 'FeedComment', fcn.feedComment.comment, fcn.createdAt) " + "FROM FeedCommentNotification fcn " + "WHERE fcn.isRead = false AND (" + diff --git a/src/main/java/stackpot/stackpot/notification/repository/FeedLikeNotificationRepository.java b/src/main/java/stackpot/stackpot/notification/repository/FeedLikeNotificationRepository.java index ed80c50b..b0f5167e 100644 --- a/src/main/java/stackpot/stackpot/notification/repository/FeedLikeNotificationRepository.java +++ b/src/main/java/stackpot/stackpot/notification/repository/FeedLikeNotificationRepository.java @@ -14,7 +14,7 @@ public interface FeedLikeNotificationRepository extends JpaRepository { @Query("SELECT new stackpot.stackpot.notification.dto.NotificationDto$UnReadNotificationDto(" + - "fln.id, fln.feedLike.feed.feedId, fln.feedLike.user.role," + + "fln.id, fln.feedLike.feed.feedId, " + "fln.feedLike.user.nickname, 'FeedLike', null, fln.createdAt) " + "FROM FeedLikeNotification fln " + "WHERE fln.isRead = false and fln.feedLike.feed.user.id = :userId ") diff --git a/src/main/java/stackpot/stackpot/notification/repository/PotApplicationNotificationRepository.java b/src/main/java/stackpot/stackpot/notification/repository/PotApplicationNotificationRepository.java index 7fd9896b..85ab5f4f 100644 --- a/src/main/java/stackpot/stackpot/notification/repository/PotApplicationNotificationRepository.java +++ b/src/main/java/stackpot/stackpot/notification/repository/PotApplicationNotificationRepository.java @@ -13,7 +13,7 @@ public interface PotApplicationNotificationRepository extends JpaRepository { @Query("SELECT new stackpot.stackpot.notification.dto.NotificationDto$UnReadNotificationDto(" + - "pan.id, pan.potApplication.pot.potId, pan.potApplication.user.role, pan.potApplication.user.nickname, " + + "pan.id, pan.potApplication.pot.potId, pan.potApplication.user.nickname, " + "'PotApplication', null, pan.createdAt) " + "FROM PotApplicationNotification pan " + "WHERE pan.isRead = false AND pan.potApplication.pot.user.id = :userId") diff --git a/src/main/java/stackpot/stackpot/notification/repository/PotCommentNotificationRepository.java b/src/main/java/stackpot/stackpot/notification/repository/PotCommentNotificationRepository.java index aa18b003..2b846544 100644 --- a/src/main/java/stackpot/stackpot/notification/repository/PotCommentNotificationRepository.java +++ b/src/main/java/stackpot/stackpot/notification/repository/PotCommentNotificationRepository.java @@ -13,7 +13,7 @@ public interface PotCommentNotificationRepository extends JpaRepository { @Query("SELECT new stackpot.stackpot.notification.dto.NotificationDto$UnReadNotificationDto(" + - "pcn.id, pcn.potComment.pot.potId, pcn.potComment.user.role, " + + "pcn.id, pcn.potComment.pot.potId, " + "pcn.potComment.user.nickname, 'PotComment', pcn.potComment.comment, pcn.createdAt) " + "FROM PotCommentNotification pcn " + "WHERE pcn.isRead = false AND (" + diff --git a/src/main/java/stackpot/stackpot/notification/service/NotificationCommandService.java b/src/main/java/stackpot/stackpot/notification/service/NotificationCommandService.java index 9b580fa2..ac53ddbd 100644 --- a/src/main/java/stackpot/stackpot/notification/service/NotificationCommandService.java +++ b/src/main/java/stackpot/stackpot/notification/service/NotificationCommandService.java @@ -56,7 +56,7 @@ public void readNotification(NotificationRequestDto.ReadNotificationDto readNoti type.read(notificationId, this); } - public NotificationResponseDto.UnReadNotificationDto createPotApplicationNotification(Long potId, Long applicationId, Role role, String userName) { + public NotificationResponseDto.UnReadNotificationDto createPotApplicationNotification(Long potId, Long applicationId, String userName) { PotApplication potApplication = potApplicationQueryService.getPotApplicationById(applicationId); // 해당 유저가 Pot의 생성자일 경우 알림 생성하지 않음 -> 이미 PotApplication 생성 자체가 안 됨 PotApplicationNotification pan = PotApplicationNotification.builder() @@ -67,7 +67,7 @@ public NotificationResponseDto.UnReadNotificationDto createPotApplicationNotific // Pot의 생성자에게 실시간 알림 전송 필요 return notificationConverter.toUnReadNotificationDto( - newPan.getId(), potId, role, userName, "PotApplication", null, newPan.getCreatedAt()); + newPan.getId(), potId, userName, "PotApplication", null, newPan.getCreatedAt()); } @Transactional @@ -75,7 +75,7 @@ public void deletePotApplicationNotification(Long potApplicationId) { potApplicationNotificationRepository.deleteByPotApplicationId(potApplicationId); } - public NotificationResponseDto.UnReadNotificationDto createPotCommentNotification(Long potId, Long commentId, Long userId, Role role) { + public NotificationResponseDto.UnReadNotificationDto createPotCommentNotification(Long potId, Long commentId, Long userId) { PotComment potComment = potCommentQueryService.selectPotCommentByCommentId(commentId); if (potComment.getPot().getUser().getId().equals(userId)) { return null; // 해당 유저가 Pot의 생성자일 경우 알림 생성하지 않음 @@ -91,7 +91,7 @@ public NotificationResponseDto.UnReadNotificationDto createPotCommentNotificatio PotCommentNotification newPcn = potCommentNotificationRepository.save(pcn); return notificationConverter.toUnReadNotificationDto( - newPcn.getId(), potId, role, potComment.getUser().getNickname(), + newPcn.getId(), potId, potComment.getUser().getNickname(), "PotComment", potComment.getComment(), newPcn.getCreatedAt()); } @@ -100,7 +100,7 @@ public void deletePotCommentNotification(Long potCommentId) { potCommentNotificationRepository.deleteByPotCommentId(potCommentId); } - public NotificationResponseDto.UnReadNotificationDto createFeedLikeNotification(Long feedId, Long feedLikeId, Long userId, Role role) { + public NotificationResponseDto.UnReadNotificationDto createFeedLikeNotification(Long feedId, Long feedLikeId, Long userId) { FeedLike feedLike = feedLikeQueryService.getFeedLikeById(feedLikeId); if (feedLike.getFeed().getUser().getId().equals(userId)) { return null; // 해당 유저가 Feed의 생성자일 경우 알림 생성하지 않음 @@ -112,7 +112,7 @@ public NotificationResponseDto.UnReadNotificationDto createFeedLikeNotification( FeedLikeNotification newFln = feedLikeNotificationRepository.save(fln); return notificationConverter.toUnReadNotificationDto( - newFln.getId(), feedId, role, feedLike.getUser().getNickname(), + newFln.getId(), feedId, feedLike.getUser().getNickname(), "FeedLike", null, newFln.getCreatedAt()); } @@ -121,7 +121,7 @@ public void deleteFeedLikeNotification(Long feedLikeId) { feedLikeNotificationRepository.deleteByFeedLikeId(feedLikeId); } - public NotificationResponseDto.UnReadNotificationDto createdFeedCommentNotification(Long feedId, Long commentId, Long userId, Role role) { + public NotificationResponseDto.UnReadNotificationDto createdFeedCommentNotification(Long feedId, Long commentId, Long userId) { FeedComment feedComment = feedCommentQueryService.selectFeedCommentByCommentId(commentId); if (feedComment.getFeed().getUser().getId().equals(userId)) { return null; // 해당 유저가 Feed의 생성자일 경우 알림 생성하지 않음 @@ -136,7 +136,7 @@ public NotificationResponseDto.UnReadNotificationDto createdFeedCommentNotificat FeedCommentNotification newFcn = feedCommentNotificationRepository.save(fcn); return notificationConverter.toUnReadNotificationDto( - newFcn.getId(), feedId, role, feedComment.getUser().getNickname(), + newFcn.getId(), feedId, feedComment.getUser().getNickname(), "FeedComment", feedComment.getComment(), newFcn.getCreatedAt()); } diff --git a/src/main/java/stackpot/stackpot/pot/converter/PotCommentConverter.java b/src/main/java/stackpot/stackpot/pot/converter/PotCommentConverter.java index ab1db24d..f5531336 100644 --- a/src/main/java/stackpot/stackpot/pot/converter/PotCommentConverter.java +++ b/src/main/java/stackpot/stackpot/pot/converter/PotCommentConverter.java @@ -15,12 +15,11 @@ public class PotCommentConverter { private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy년 M월 d일 H:mm"); - public PotCommentResponseDto.PotCommentCreateDto toPotCommentCreateDto(Long userId, String userName, Role role, Boolean isWriter, + public PotCommentResponseDto.PotCommentCreateDto toPotCommentCreateDto(Long userId, String userName, Boolean isWriter, Long commentId, String comment, LocalDateTime createdAt) { return PotCommentResponseDto.PotCommentCreateDto.builder() .userId(userId) - .userName(userName) - .role(role) + .userName(userName + " 새싹") .isWriter(isWriter) .commentId(commentId) .comment(comment) @@ -28,13 +27,12 @@ public PotCommentResponseDto.PotCommentCreateDto toPotCommentCreateDto(Long user .build(); } - public PotCommentResponseDto.PotReplyCommentCreateDto toPotReplyCommentCreateDto(Long userId, String userName, Role role, Boolean isWriter, + public PotCommentResponseDto.PotReplyCommentCreateDto toPotReplyCommentCreateDto(Long userId, String userName, Boolean isWriter, Long commentId, String comment, Long parentCommentId, LocalDateTime createdAt) { return PotCommentResponseDto.PotReplyCommentCreateDto.builder() .userId(userId) - .userName(userName) - .role(role) + .userName(userName + " 새싹") .isWriter(isWriter) .commentId(commentId) .comment(comment) @@ -52,8 +50,7 @@ public PotCommentResponseDto.PotCommentUpdateDto toPotCommentUpdateDto(String co public PotCommentResponseDto.AllPotCommentDto toAllPotCommentDto(PotCommentDto.PotCommentInfoDto dto, Long currentUserId) { return PotCommentResponseDto.AllPotCommentDto.builder() .userId(dto.getUserId()) - .userName(dto.getUserName() + " " + dto.getRole().getVegetable()) - .role(dto.getRole()) + .userName(dto.getUserName() + " 새싹") .isCommentWriter(Objects.equals(dto.getUserId(), currentUserId)) .isPotWriter(Objects.equals(dto.getPotWriterId(), dto.getUserId())) .commentId(dto.getCommentId()) diff --git a/src/main/java/stackpot/stackpot/pot/dto/PotCommentDto.java b/src/main/java/stackpot/stackpot/pot/dto/PotCommentDto.java index 967b2112..3d5ebe2f 100644 --- a/src/main/java/stackpot/stackpot/pot/dto/PotCommentDto.java +++ b/src/main/java/stackpot/stackpot/pot/dto/PotCommentDto.java @@ -17,7 +17,6 @@ public class PotCommentDto { public static class PotCommentInfoDto { private Long userId; private String userName; - private Role role; private Long potWriterId; // Pot 작성자 private Long commentId; private String comment; diff --git a/src/main/java/stackpot/stackpot/pot/dto/PotCommentResponseDto.java b/src/main/java/stackpot/stackpot/pot/dto/PotCommentResponseDto.java index f9ad94e0..dd80c340 100644 --- a/src/main/java/stackpot/stackpot/pot/dto/PotCommentResponseDto.java +++ b/src/main/java/stackpot/stackpot/pot/dto/PotCommentResponseDto.java @@ -18,7 +18,6 @@ public class PotCommentResponseDto { public static class AllPotCommentDto { private Long userId; private String userName; - private Role role; private Boolean isCommentWriter; private Boolean isPotWriter; private Long commentId; @@ -35,7 +34,6 @@ public static class AllPotCommentDto { public static class PotCommentCreateDto { private Long userId; private String userName; - private Role role; private Boolean isWriter; private Long commentId; private String comment; @@ -49,7 +47,6 @@ public static class PotCommentCreateDto { public static class PotReplyCommentCreateDto { private Long userId; private String userName; - private Role role; private Boolean isWriter; private Long commentId; private String comment; diff --git a/src/main/java/stackpot/stackpot/pot/repository/PotCommentRepository.java b/src/main/java/stackpot/stackpot/pot/repository/PotCommentRepository.java index e890c4d1..b0088949 100644 --- a/src/main/java/stackpot/stackpot/pot/repository/PotCommentRepository.java +++ b/src/main/java/stackpot/stackpot/pot/repository/PotCommentRepository.java @@ -14,7 +14,7 @@ public interface PotCommentRepository extends JpaRepository { @Query("select pc from PotComment pc where pc.id = :commentId") Optional findByCommentId(@Param("commentId") Long commentId); - @Query("select new stackpot.stackpot.pot.dto.PotCommentDto$PotCommentInfoDto(pc.user.id, pc.user.nickname, pc.user.role" + + @Query("select new stackpot.stackpot.pot.dto.PotCommentDto$PotCommentInfoDto(pc.user.id, pc.user.nickname" + ", pc.pot.user.id, pc.id, pc.comment, pc.parent.id, pc.createdAt) " + "from PotComment pc where pc.pot.potId = :potId") List findAllCommentInfoDtoByPotId(@Param("potId") Long potId); diff --git a/src/main/java/stackpot/stackpot/pot/service/pot/PotCommandServiceImpl.java b/src/main/java/stackpot/stackpot/pot/service/pot/PotCommandServiceImpl.java index cac234af..2c4cbe4b 100644 --- a/src/main/java/stackpot/stackpot/pot/service/pot/PotCommandServiceImpl.java +++ b/src/main/java/stackpot/stackpot/pot/service/pot/PotCommandServiceImpl.java @@ -145,7 +145,6 @@ public void deletePot(Long potId) { throw new PotHandler(ErrorStatus.POT_FORBIDDEN); } - // recruitmentDetailsRepository.deleteByPot_PotId(potId); potRepository.delete(pot); } diff --git a/src/main/java/stackpot/stackpot/pot/service/potApplication/PotApplicationCommandServiceImpl.java b/src/main/java/stackpot/stackpot/pot/service/potApplication/PotApplicationCommandServiceImpl.java index 193ac285..f58e4a25 100644 --- a/src/main/java/stackpot/stackpot/pot/service/potApplication/PotApplicationCommandServiceImpl.java +++ b/src/main/java/stackpot/stackpot/pot/service/potApplication/PotApplicationCommandServiceImpl.java @@ -60,7 +60,7 @@ public PotApplicationResponseDto applyToPot(PotApplicationRequestDto dto, Long p sendSupportEmailAsync(user, pot, savedApplication); NotificationResponseDto.UnReadNotificationDto notiDto = notificationCommandService.createPotApplicationNotification( - pot.getPotId(), savedApplication.getApplicationId(), user.getRole(), user.getNickname()); + pot.getPotId(), savedApplication.getApplicationId(), user.getNickname()); applicationEventPublisher.publishEvent(new PotApplicationEvent(pot.getUser().getId(), notiDto)); diff --git a/src/main/java/stackpot/stackpot/pot/service/potComment/PotCommentCommandService.java b/src/main/java/stackpot/stackpot/pot/service/potComment/PotCommentCommandService.java index eaed3454..b4bf2739 100644 --- a/src/main/java/stackpot/stackpot/pot/service/potComment/PotCommentCommandService.java +++ b/src/main/java/stackpot/stackpot/pot/service/potComment/PotCommentCommandService.java @@ -49,11 +49,11 @@ public PotCommentResponseDto.PotCommentCreateDto createPotComment(PotCommentRequ Boolean isWriter = Objects.equals(user.getId(), pot.getUser().getUserId()); NotificationResponseDto.UnReadNotificationDto dto = notificationCommandService.createPotCommentNotification( - potId, potComment.getId(), user.getId(), user.getRole()); + potId, potComment.getId(), user.getId()); applicationEventPublisher.publishEvent(new PotCommentEvent(pot.getUser().getId(), null, dto)); - return potCommentConverter.toPotCommentCreateDto(user.getUserId(), user.getNickname(), user.getRole(), isWriter, + return potCommentConverter.toPotCommentCreateDto(user.getUserId(), user.getNickname(), isWriter, potComment.getId(), comment, potComment.getCreatedAt()); } @@ -74,11 +74,11 @@ public PotCommentResponseDto.PotReplyCommentCreateDto createPotReplyComment(Long Boolean isWriter = Objects.equals(user.getId(), pot.getUser().getUserId()); NotificationResponseDto.UnReadNotificationDto dto = notificationCommandService.createPotCommentNotification( - potId, potComment.getId(), user.getId(), user.getRole()); + potId, potComment.getId(), user.getId()); applicationEventPublisher.publishEvent(new PotCommentEvent(pot.getUser().getId(), parent.getUser().getUserId(), dto)); - return potCommentConverter.toPotReplyCommentCreateDto(user.getUserId(), user.getNickname(), user.getRole(), isWriter, + return potCommentConverter.toPotReplyCommentCreateDto(user.getUserId(), user.getNickname(), isWriter, potComment.getId(), comment, parent.getId(), potComment.getCreatedAt()); } diff --git a/src/main/java/stackpot/stackpot/task/controller/TaskController.java b/src/main/java/stackpot/stackpot/task/controller/TaskController.java index 574973d5..ed37d3d0 100644 --- a/src/main/java/stackpot/stackpot/task/controller/TaskController.java +++ b/src/main/java/stackpot/stackpot/task/controller/TaskController.java @@ -39,7 +39,7 @@ public class TaskController { ErrorStatus.POT_MEMBER_NOT_FOUND }) public ResponseEntity> createPotTask(@PathVariable("pot_id") Long potId, @RequestBody @Valid MyPotTaskRequestDto.create request) { - MyPotTaskResponseDto response = taskCommandService.creatTask(potId, request); + MyPotTaskResponseDto response = taskCommandService.createTask(potId, request); return ResponseEntity.ok(ApiResponse.onSuccess(response)); } @@ -94,7 +94,6 @@ public ResponseEntity>> getMonthlyTasks( @PathVariable("pot_id") Long potId, @RequestParam("year") int year, @RequestParam("month") int month) { - List response = taskQueryService.getMonthlyTasks(potId, year, month); return ResponseEntity.ok(ApiResponse.onSuccess(response)); } diff --git a/src/main/java/stackpot/stackpot/task/converter/TaskBoardConverter.java b/src/main/java/stackpot/stackpot/task/converter/TaskBoardConverter.java index a9438b6e..807cf942 100644 --- a/src/main/java/stackpot/stackpot/task/converter/TaskBoardConverter.java +++ b/src/main/java/stackpot/stackpot/task/converter/TaskBoardConverter.java @@ -15,6 +15,7 @@ import java.util.List; import org.springframework.stereotype.Component; +import stackpot.stackpot.user.entity.User; import stackpot.stackpot.user.entity.enums.Role; @@ -22,13 +23,14 @@ @Component public class TaskBoardConverter { - public Taskboard toTaskboard(Pot pot, MyPotTaskRequestDto.create requset) { + public Taskboard toTaskboard(Pot pot, MyPotTaskRequestDto.create request, User user) { return Taskboard.builder() - .title(requset.getTitle()) - .description(requset.getDescription()) - .deadLine(requset.getDeadline()) - .status(requset.getTaskboardStatus()) + .title(request.getTitle()) + .description(request.getDescription()) + .deadLine(request.getDeadline()) + .status(request.getTaskboardStatus()) .pot(pot) + .user(user) .build(); } public MyPotTaskResponseDto toDTO(Taskboard taskboard, List participants) { diff --git a/src/main/java/stackpot/stackpot/task/entity/Taskboard.java b/src/main/java/stackpot/stackpot/task/entity/Taskboard.java index 41aa3a34..5d36170c 100644 --- a/src/main/java/stackpot/stackpot/task/entity/Taskboard.java +++ b/src/main/java/stackpot/stackpot/task/entity/Taskboard.java @@ -39,8 +39,8 @@ public class Taskboard extends BaseEntity { @JoinColumn(name = "pot_id", nullable = false) private Pot pot; - @Setter - @ManyToOne(fetch = FetchType.EAGER) + // TaskBoard 생성자 + @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) private User user; } diff --git a/src/main/java/stackpot/stackpot/task/repository/TaskRepository.java b/src/main/java/stackpot/stackpot/task/repository/TaskRepository.java index 97da6c15..63d5e906 100644 --- a/src/main/java/stackpot/stackpot/task/repository/TaskRepository.java +++ b/src/main/java/stackpot/stackpot/task/repository/TaskRepository.java @@ -1,10 +1,12 @@ package stackpot.stackpot.task.repository; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; +import stackpot.stackpot.pot.entity.mapping.PotMember; import stackpot.stackpot.task.entity.Taskboard; import stackpot.stackpot.task.entity.mapping.Task; @@ -24,4 +26,10 @@ public interface TaskRepository extends JpaRepository { @Query("DELETE FROM Task t WHERE t.taskboard.taskboardId IN :taskboardIds") void deleteByTaskboardIds(@Param("taskboardIds") List taskboardIds); + @Query("SELECT t.potMember " + + "FROM Task t " + + "WHERE t.potMember.potMemberId IN :potMemberIds " + + "GROUP BY t.potMember.potMemberId " + + "ORDER BY count(t) DESC") + List getTop2TaskCountByPotMemberId(@Param("potMemberIds") List potMemberIds, Pageable pageable); } diff --git a/src/main/java/stackpot/stackpot/task/service/TaskCommandService.java b/src/main/java/stackpot/stackpot/task/service/TaskCommandService.java index 2a5f12e8..c37c6ec6 100644 --- a/src/main/java/stackpot/stackpot/task/service/TaskCommandService.java +++ b/src/main/java/stackpot/stackpot/task/service/TaskCommandService.java @@ -8,7 +8,7 @@ import java.util.Map; public interface TaskCommandService { - MyPotTaskResponseDto creatTask(Long potId, MyPotTaskRequestDto.create request); + MyPotTaskResponseDto createTask(Long potId, MyPotTaskRequestDto.create request); void deleteTaskBoard(Long potId, Long taskBoardId); MyPotTaskStatusResponseDto updateTaskStatus(Long potId, Long taskId, TaskboardStatus status); MyPotTaskResponseDto modifyTask(Long potId, Long taskBoardId, MyPotTaskRequestDto.create request); diff --git a/src/main/java/stackpot/stackpot/task/service/TaskCommandServiceImpl.java b/src/main/java/stackpot/stackpot/task/service/TaskCommandServiceImpl.java index e7ed0ea3..51fd4bc1 100644 --- a/src/main/java/stackpot/stackpot/task/service/TaskCommandServiceImpl.java +++ b/src/main/java/stackpot/stackpot/task/service/TaskCommandServiceImpl.java @@ -36,7 +36,7 @@ public class TaskCommandServiceImpl implements TaskCommandService { private final AuthService authService; @Override - public MyPotTaskResponseDto creatTask(Long potId, MyPotTaskRequestDto.create request) { + public MyPotTaskResponseDto createTask(Long potId, MyPotTaskRequestDto.create request) { Pot pot = potRepository.findById(potId) .orElseThrow(() -> new PotHandler(ErrorStatus.POT_NOT_FOUND)); @@ -45,20 +45,16 @@ public MyPotTaskResponseDto creatTask(Long potId, MyPotTaskRequestDto.create req potMemberRepository.findByPotAndUser(pot, user) .orElseThrow(() -> new PotHandler(ErrorStatus.POT_MEMBER_NOT_FOUND)); - Taskboard taskboard = taskboardConverter.toTaskboard(pot, request); - taskboard.setUser(user); + Taskboard taskboard = taskboardConverter.toTaskboard(pot, request, user); taskboardRepository.save(taskboard); List requestedParticipantIds = request.getParticipants() != null ? request.getParticipants() : List.of(); - - List validParticipants = potMemberRepository.findByPotId(potId); - List participants = validParticipants.stream() .filter(potMember -> requestedParticipantIds.contains(potMember.getPotMemberId())) .collect(Collectors.toList()); - createAndSaveTasks(taskboard, participants); + this.createAndSaveTasks(taskboard, participants); List participantDtos = taskboardConverter.toParticipantDtoList(participants); MyPotTaskResponseDto response = taskboardConverter.toDTO(taskboard, participants); @@ -119,15 +115,14 @@ public void deleteTaskBoard(Long potId, Long taskBoardId) { taskboardRepository.delete(taskboard); } - private List createAndSaveTasks(Taskboard taskboard, List participants) { + private void createAndSaveTasks(Taskboard taskboard, List participants) { List tasks = participants.stream() .map(participant -> Task.builder() .taskboard(taskboard) .potMember(participant) .build()) .collect(Collectors.toList()); - - return taskRepository.saveAll(tasks); + taskRepository.saveAll(tasks); } @Override diff --git a/src/main/java/stackpot/stackpot/task/service/TaskQueryService.java b/src/main/java/stackpot/stackpot/task/service/TaskQueryService.java index 397cb387..2d4f843f 100644 --- a/src/main/java/stackpot/stackpot/task/service/TaskQueryService.java +++ b/src/main/java/stackpot/stackpot/task/service/TaskQueryService.java @@ -1,5 +1,6 @@ package stackpot.stackpot.task.service; +import stackpot.stackpot.pot.entity.mapping.PotMember; import stackpot.stackpot.task.dto.*; import stackpot.stackpot.task.entity.enums.TaskboardStatus; @@ -12,4 +13,5 @@ public interface TaskQueryService { MyPotTaskResponseDto viewDetailTask(Long potId, Long taskBoardId); List getTasksFromDate(Long potId, LocalDate date); List getMonthlyTasks(Long potId, int year, int month); + List getTop2TaskCountByPotMemberId(List potMemberIds); } diff --git a/src/main/java/stackpot/stackpot/task/service/TaskQueryServiceImpl.java b/src/main/java/stackpot/stackpot/task/service/TaskQueryServiceImpl.java index 6b118fa9..103d12fc 100644 --- a/src/main/java/stackpot/stackpot/task/service/TaskQueryServiceImpl.java +++ b/src/main/java/stackpot/stackpot/task/service/TaskQueryServiceImpl.java @@ -3,6 +3,8 @@ import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import stackpot.stackpot.apiPayload.code.status.ErrorStatus; import stackpot.stackpot.apiPayload.exception.handler.PotHandler; @@ -40,12 +42,9 @@ public class TaskQueryServiceImpl implements TaskQueryService { @Override public Map> preViewTask(Long potId) { User user = authService.getCurrentUser(); - potMemberRepository.findByPotPotIdAndUser(potId, user) .orElseThrow(() -> new PotHandler(ErrorStatus.POT_MEMBER_NOT_FOUND)); - List taskboards = taskboardRepository.findByPotPotId(potId); - List taskboardDtos = taskboards.stream() .map(taskboard -> { List tasks = taskRepository.findByTaskboard(taskboard); @@ -53,11 +52,9 @@ public Map> preViewTask(Long .map(Task::getPotMember) .distinct() .collect(Collectors.toList()); - return taskboardConverter.toDto(taskboard, participants); }) - .collect(Collectors.toList()); - + .toList(); return taskboardDtos.stream() .collect(Collectors.groupingBy(MyPotTaskPreViewResponseDto::getStatus)); @@ -66,23 +63,16 @@ public Map> preViewTask(Long @Override public MyPotTaskResponseDto viewDetailTask(Long potId, Long taskBoardId) { - Pot pot = potRepository.findById(potId) .orElseThrow(() -> new PotHandler(ErrorStatus.POT_NOT_FOUND)); - Taskboard taskboard = taskboardRepository.findByPotAndTaskboardId(pot, taskBoardId) .orElseThrow(() -> new PotHandler(ErrorStatus.TASKBOARD_NOT_FOUND)); - List tasks = taskRepository.findByTaskboard(taskboard); - List participants = tasks.stream() .map(Task::getPotMember) .distinct() .collect(Collectors.toList()); - - MyPotTaskResponseDto response = taskboardConverter.toDTO(taskboard,participants); - - return response; + return taskboardConverter.toDTO(taskboard, participants); } @Override @@ -138,4 +128,10 @@ public List getMonthlyTasks(Long potId, int year, int month) { }) .collect(Collectors.toList()); } + + @Override + public List getTop2TaskCountByPotMemberId(List potMemberIds) { + Pageable pageable = PageRequest.of(0, 2); + return taskRepository.getTop2TaskCountByPotMemberId(potMemberIds, pageable); + } } diff --git a/src/main/java/stackpot/stackpot/user/service/UserCommandServiceImpl.java b/src/main/java/stackpot/stackpot/user/service/UserCommandServiceImpl.java index e9f27bca..9ec4cd5d 100644 --- a/src/main/java/stackpot/stackpot/user/service/UserCommandServiceImpl.java +++ b/src/main/java/stackpot/stackpot/user/service/UserCommandServiceImpl.java @@ -243,7 +243,7 @@ public NicknameResponseDto createNickname() { log.debug("사용중인 닉네임 입니다.{}", nickname); } } - return new NicknameResponseDto(nickname + " 새싹"); + return new NicknameResponseDto(nickname); } @Override