From cd42fb81a37e77f1e8f10625011d840d71134471 Mon Sep 17 00:00:00 2001 From: Woongbin06 Date: Wed, 22 Nov 2023 14:57:02 +0900 Subject: [PATCH 1/8] =?UTF-8?q?FEAT=20::=20=EC=98=A4=ED=83=80=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/notice/service/DeleteAllNotificationService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/woongeya/zoing/domain/notice/service/DeleteAllNotificationService.java b/src/main/java/com/woongeya/zoing/domain/notice/service/DeleteAllNotificationService.java index 96d501a..89fb508 100644 --- a/src/main/java/com/woongeya/zoing/domain/notice/service/DeleteAllNotificationService.java +++ b/src/main/java/com/woongeya/zoing/domain/notice/service/DeleteAllNotificationService.java @@ -18,7 +18,7 @@ public class DeleteAllNotificationService { public void execute() { User user = userFacade.getCurrentUser(); - List notifications = notificationRepository.findByUserId(user.getId()); + List notifications = notificationRepository.findByToUserId(user.getId()); notificationRepository.deleteAll(notifications); } From 2228294c60857efe44b7c3c2f9c7dafd5972c01b Mon Sep 17 00:00:00 2001 From: Woongbin06 Date: Wed, 22 Nov 2023 14:57:31 +0900 Subject: [PATCH 2/8] =?UTF-8?q?FEAT=20::=20git=20action=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/github-actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index aeab8c4..38a0fe9 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -2,7 +2,7 @@ name: Java CD with Gradle on: push: - branches: [ "master" ] + branches: [ "master", "feat" ] permissions: contents: read From 2977e8503b8062202f32a90475e7df66aa29f0dd Mon Sep 17 00:00:00 2001 From: Woongbin06 Date: Wed, 22 Nov 2023 19:32:32 +0900 Subject: [PATCH 3/8] =?UTF-8?q?FEAT=20::=20=EC=8B=A0=EC=B2=AD=20=EA=B1=B0?= =?UTF-8?q?=EC=A0=88=20=EC=8B=9C=20=EC=95=8C=EB=9E=8C=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/application/service/RejectApplicationService.java | 1 + .../domain/notice/domain/repository/NotificationRepository.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/com/woongeya/zoing/domain/application/service/RejectApplicationService.java b/src/main/java/com/woongeya/zoing/domain/application/service/RejectApplicationService.java index ee2c5d1..853beae 100644 --- a/src/main/java/com/woongeya/zoing/domain/application/service/RejectApplicationService.java +++ b/src/main/java/com/woongeya/zoing/domain/application/service/RejectApplicationService.java @@ -48,6 +48,7 @@ public void execute(Long id) { .build() ); + notificationRepository.deleteByApplicationId(id); applicationRepository.delete(application); } } diff --git a/src/main/java/com/woongeya/zoing/domain/notice/domain/repository/NotificationRepository.java b/src/main/java/com/woongeya/zoing/domain/notice/domain/repository/NotificationRepository.java index b2ea6c3..89c5233 100644 --- a/src/main/java/com/woongeya/zoing/domain/notice/domain/repository/NotificationRepository.java +++ b/src/main/java/com/woongeya/zoing/domain/notice/domain/repository/NotificationRepository.java @@ -7,6 +7,7 @@ import java.util.List; public interface NotificationRepository extends JpaRepository { + void deleteByApplicationId(Long applicationId); Long countByToUserIdAndState(Long toUserId, NotificationState state); List findByToUserId(Long toUserId); } From 3aefe0d98af826da0cfbb13740cd741d61e50e10 Mon Sep 17 00:00:00 2001 From: Woongbin06 Date: Wed, 22 Nov 2023 20:23:49 +0900 Subject: [PATCH 4/8] =?UTF-8?q?FEAT=20::=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EC=82=AD=EC=A0=9C=20=EC=8B=9C=20=EC=A2=8B=EC=95=84?= =?UTF-8?q?=EC=9A=94=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zoing/domain/like/domain/repository/LikeRepository.java | 1 + .../zoing/domain/project/service/DeleteProjectService.java | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/main/java/com/woongeya/zoing/domain/like/domain/repository/LikeRepository.java b/src/main/java/com/woongeya/zoing/domain/like/domain/repository/LikeRepository.java index 4e2b091..8424051 100644 --- a/src/main/java/com/woongeya/zoing/domain/like/domain/repository/LikeRepository.java +++ b/src/main/java/com/woongeya/zoing/domain/like/domain/repository/LikeRepository.java @@ -7,6 +7,7 @@ import java.util.Optional; public interface LikeRepository extends JpaRepository { + void deleteByProjectId(Long projectId); Optional findByUserIdAndProjectId(Long userId, Long projectId); List findByProjectId(Long projectId); List findByUserId(Long userId); diff --git a/src/main/java/com/woongeya/zoing/domain/project/service/DeleteProjectService.java b/src/main/java/com/woongeya/zoing/domain/project/service/DeleteProjectService.java index d9c32c4..175244d 100644 --- a/src/main/java/com/woongeya/zoing/domain/project/service/DeleteProjectService.java +++ b/src/main/java/com/woongeya/zoing/domain/project/service/DeleteProjectService.java @@ -1,6 +1,7 @@ package com.woongeya.zoing.domain.project.service; import com.woongeya.zoing.domain.application.domain.repository.ApplicationRepository; +import com.woongeya.zoing.domain.like.domain.repository.LikeRepository; import com.woongeya.zoing.domain.project.domain.Member; import com.woongeya.zoing.domain.project.domain.Project; import com.woongeya.zoing.domain.project.domain.repository.*; @@ -22,6 +23,7 @@ public class DeleteProjectService { private final MemberRepository memberRepository; private final CoopRepository coopRepository; private final PositionRepository positionRepository; + private final LikeRepository likeRepository; private final SkillRepository skillRepository; private final MoodRepository moodRepository; private final ProjectFacade projectFacade; @@ -48,6 +50,7 @@ private void deleteAll(Project project) { skillRepository.deleteByProjectId(project.getId()); coopRepository.deleteByProjectId(project.getId()); positionRepository.deleteByProjectId(project.getId()); + likeRepository.deleteByProjectId(project.getId()); projectRepository.delete(project); } From f236741f215db26d7e755cf96b2f13501cff6498 Mon Sep 17 00:00:00 2001 From: Woongbin06 Date: Thu, 23 Nov 2023 16:35:29 +0900 Subject: [PATCH 5/8] =?UTF-8?q?FEAT=20::=20=EA=B2=8C=EC=8B=9C=ED=8C=90=20?= =?UTF-8?q?=EC=9C=A0=EC=A0=80=20=EB=8B=89=EB=84=A4=EC=9D=8C=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EB=B0=98=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/post/presetation/dto/response/PostResponse.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/woongeya/zoing/domain/post/presetation/dto/response/PostResponse.java b/src/main/java/com/woongeya/zoing/domain/post/presetation/dto/response/PostResponse.java index 0a5beea..753e203 100644 --- a/src/main/java/com/woongeya/zoing/domain/post/presetation/dto/response/PostResponse.java +++ b/src/main/java/com/woongeya/zoing/domain/post/presetation/dto/response/PostResponse.java @@ -20,7 +20,7 @@ public class PostResponse { private String postImg; private LocalDateTime createTime; private Long userId; - private String userName; + private String userNickName; private String userImg; public static PostResponse of(Post post, User user) { @@ -32,7 +32,7 @@ public static PostResponse of(Post post, User user) { .createTime(post.getCreateTime()) .viewCount(post.getViewCount()) .userId(user.getId()) - .userName(user.getName()) + .userNickName(user.getNickName()) .userImg(user.getImgUrl()) .commentCount(post.getCommentCount()) .build(); From e3b29b560bc6c07fac3a6424d154152f65ec8a83 Mon Sep 17 00:00:00 2001 From: Woongbin06 Date: Thu, 23 Nov 2023 23:26:20 +0900 Subject: [PATCH 6/8] =?UTF-8?q?FEAT=20::=20=EB=8C=93=EA=B8=80=20=EC=9C=A0?= =?UTF-8?q?=EC=A0=80=EB=8F=84=20=EB=8B=89=EB=84=A4=EC=9D=8C=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EB=B0=98=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comment/presetation/dto/response/CommentResponse.java | 4 ++-- .../comment/presetation/dto/response/ReCommentResponse.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/woongeya/zoing/domain/comment/presetation/dto/response/CommentResponse.java b/src/main/java/com/woongeya/zoing/domain/comment/presetation/dto/response/CommentResponse.java index 5594c7e..dc8aa83 100644 --- a/src/main/java/com/woongeya/zoing/domain/comment/presetation/dto/response/CommentResponse.java +++ b/src/main/java/com/woongeya/zoing/domain/comment/presetation/dto/response/CommentResponse.java @@ -15,7 +15,7 @@ public class CommentResponse { private String content; private LocalDateTime createTime; private Long userId; - private String userName; + private String userNickName; private String userImg; private Integer reCommentCount; @@ -26,7 +26,7 @@ public static CommentResponse of(Comment comment, User user) { .createTime(comment.getCreateTime()) .reCommentCount(comment.getReCommentCount()) .userId(user.getId()) - .userName(user.getName()) + .userNickName(user.getNickName()) .userImg(user.getImgUrl()) .build(); } diff --git a/src/main/java/com/woongeya/zoing/domain/comment/presetation/dto/response/ReCommentResponse.java b/src/main/java/com/woongeya/zoing/domain/comment/presetation/dto/response/ReCommentResponse.java index d2144e6..d1fe676 100644 --- a/src/main/java/com/woongeya/zoing/domain/comment/presetation/dto/response/ReCommentResponse.java +++ b/src/main/java/com/woongeya/zoing/domain/comment/presetation/dto/response/ReCommentResponse.java @@ -15,7 +15,7 @@ public class ReCommentResponse { private String content; private LocalDateTime createTime; private Long userId; - private String userName; + private String userNickName; private String userImg; public static ReCommentResponse of(ReComment reComment, User user) { @@ -24,7 +24,7 @@ public static ReCommentResponse of(ReComment reComment, User user) { .content(reComment.getContent()) .createTime(reComment.getCreateTime()) .userId(user.getId()) - .userName(user.getName()) + .userNickName(user.getNickName()) .userImg(user.getImgUrl()) .build(); } From 22f96d700faf9958b6482fde2176be29c85f974e Mon Sep 17 00:00:00 2001 From: Woongbin06 Date: Wed, 13 Dec 2023 16:46:31 +0900 Subject: [PATCH 7/8] =?UTF-8?q?REFACTOR=20::=20=EC=A2=8B=EC=95=84=EC=9A=94?= =?UTF-8?q?=20=EC=88=98=EC=88=9C=EC=9C=BC=EB=A1=9C=20=EC=A0=95=EB=A0=AC=20?= =?UTF-8?q?=EC=8B=9C=20=EC=A2=8B=EC=95=84=EC=9A=94=20=EC=88=98=EA=B0=80=20?= =?UTF-8?q?=EA=B0=99=EC=9C=BC=EB=A9=B4=20=EC=B5=9C=EC=8B=A0=EC=88=9C?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/repository/CustomProjectRepositoryImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepositoryImpl.java b/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepositoryImpl.java index 6049e6b..bcfc1f9 100644 --- a/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepositoryImpl.java +++ b/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepositoryImpl.java @@ -43,7 +43,7 @@ public List findProjectLikeDesc() { .selectFrom(project) .leftJoin(like).on(project.id.eq(like.projectId)) .groupBy(project) - .orderBy(like.count().desc()) + .orderBy(like.count().desc(), project.id.desc()) .fetch(); } @@ -54,7 +54,7 @@ public List findProjectByStateLikeDesc(ProjectState state) { .leftJoin(like).on(project.id.eq(like.projectId)) .where(project.state.eq(state)) .groupBy(project) - .orderBy(like.count().desc()) + .orderBy(like.count().desc(), project.id.desc()) .fetch(); } } From 0d51b743b318901e532dc7e4cd3d037415629f9c Mon Sep 17 00:00:00 2001 From: Woongbin06 Date: Wed, 13 Dec 2023 17:00:51 +0900 Subject: [PATCH 8/8] =?UTF-8?q?REFACTOR=20::=20=EC=BF=BC=EB=A6=AC=20?= =?UTF-8?q?=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/github-actions.yml | 2 +- .../domain/repository/CustomProjectRepository.java | 2 ++ .../repository/CustomProjectRepositoryImpl.java | 12 ++++++++++++ .../service/FindMyApplicationProjectService.java | 12 ++++-------- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index 38a0fe9..aeab8c4 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -2,7 +2,7 @@ name: Java CD with Gradle on: push: - branches: [ "master", "feat" ] + branches: [ "master" ] permissions: contents: read diff --git a/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepository.java b/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepository.java index ddcdf61..382ec62 100644 --- a/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepository.java +++ b/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepository.java @@ -14,4 +14,6 @@ public interface CustomProjectRepository { List findProjectLikeDesc(); List findProjectByStateLikeDesc(ProjectState state); + + List findMyApplicationProject(Long userId); } diff --git a/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepositoryImpl.java b/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepositoryImpl.java index bcfc1f9..e04bf94 100644 --- a/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepositoryImpl.java +++ b/src/main/java/com/woongeya/zoing/domain/project/domain/repository/CustomProjectRepositoryImpl.java @@ -1,6 +1,7 @@ package com.woongeya.zoing.domain.project.domain.repository; import com.querydsl.jpa.impl.JPAQueryFactory; +import com.woongeya.zoing.domain.application.domain.QApplication; import com.woongeya.zoing.domain.project.domain.Project; import com.woongeya.zoing.domain.project.domain.type.ProjectState; import lombok.RequiredArgsConstructor; @@ -8,6 +9,7 @@ import java.util.List; +import static com.woongeya.zoing.domain.application.domain.QApplication.application; import static com.woongeya.zoing.domain.like.domain.QLike.like; import static com.woongeya.zoing.domain.project.domain.QMember.member; import static com.woongeya.zoing.domain.project.domain.QProject.project; @@ -57,4 +59,14 @@ public List findProjectByStateLikeDesc(ProjectState state) { .orderBy(like.count().desc(), project.id.desc()) .fetch(); } + + @Override + public List findMyApplicationProject(Long userId) { + return jpaQueryFactory + .selectFrom(project) + .join(application).on(project.id.eq(application.projectId)) + .where(application.userId.eq(userId)) + .orderBy(application.id.desc()) + .fetch(); + } } diff --git a/src/main/java/com/woongeya/zoing/domain/project/service/FindMyApplicationProjectService.java b/src/main/java/com/woongeya/zoing/domain/project/service/FindMyApplicationProjectService.java index b6a9877..915f87b 100644 --- a/src/main/java/com/woongeya/zoing/domain/project/service/FindMyApplicationProjectService.java +++ b/src/main/java/com/woongeya/zoing/domain/project/service/FindMyApplicationProjectService.java @@ -1,10 +1,8 @@ package com.woongeya.zoing.domain.project.service; -import com.woongeya.zoing.domain.application.domain.Application; -import com.woongeya.zoing.domain.application.domain.repository.ApplicationRepository; import com.woongeya.zoing.domain.like.domain.repository.LikeRepository; import com.woongeya.zoing.domain.project.domain.Project; -import com.woongeya.zoing.domain.project.facade.ProjectFacade; +import com.woongeya.zoing.domain.project.domain.repository.ProjectRepository; import com.woongeya.zoing.domain.project.presetation.dto.response.ProjectResponseDto; import com.woongeya.zoing.domain.user.UserFacade; import com.woongeya.zoing.domain.user.domain.User; @@ -20,17 +18,15 @@ public class FindMyApplicationProjectService { private final UserFacade userFacade; - private final ProjectFacade projectFacade; - private final ApplicationRepository applicationRepository; private final LikeRepository likeRepository; + private final ProjectRepository projectRepository; @Transactional(readOnly = true) public List execute() { User user = userFacade.getCurrentUser(); - List applications = applicationRepository.findByUserId(user.getId()); + List projects = projectRepository.findMyApplicationProject(user.getId()); - return applications.stream() - .map(application -> projectFacade.getProject(application.getProjectId())) + return projects.stream() .map(project -> { Integer likeCount = likeRepository.countByProjectId(project.getId()); return ProjectResponseDto.of(project, likeCount, checkLike(project, user));