From 97f73491fd637e2f00581499bc0208ed73610c93 Mon Sep 17 00:00:00 2001 From: hangyeol Date: Sat, 11 Nov 2023 00:48:31 +0900 Subject: [PATCH 01/11] =?UTF-8?q?feat:=20GetRecruitmentResponse=EC=97=90?= =?UTF-8?q?=20isRecruiting=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../recruitment/dto/response/GetRecruitmentResponse.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java index 198c1cc1..f2fe7d63 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java @@ -2,6 +2,7 @@ import com.graphy.backend.domain.recruitment.domain.Position; import com.graphy.backend.domain.recruitment.domain.Recruitment; +import java.time.LocalDateTime; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -24,14 +25,18 @@ public class GetRecruitmentResponse { private Position position; + private boolean isRecruiting; + private List techTags; public static GetRecruitmentResponse from(Recruitment recruitment) { + boolean isRecruiting = LocalDateTime.now().isBefore(recruitment.getEndDate()); return GetRecruitmentResponse.builder() .id(recruitment.getId()) .nickname(recruitment.getMember().getNickname()) .title(recruitment.getTitle()) .position(recruitment.getPosition()) + .isRecruiting(isRecruiting) .techTags(recruitment.getTagNames()) .build(); } From 4d841930e9a705161c787b18254063e475740c9e Mon Sep 17 00:00:00 2001 From: hangyeol Date: Sun, 12 Nov 2023 23:09:36 +0900 Subject: [PATCH 02/11] =?UTF-8?q?feat:=20=EA=B5=AC=EC=9D=B8=20=EA=B2=8C?= =?UTF-8?q?=EC=8B=9C=EA=B8=80=20=EB=AA=A9=EB=A1=9D=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20API=EB=A5=BC=20isRecruiting=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=ED=95=84=ED=84=B0=EB=A7=81=20=EB=90=98=EA=B2=8C=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RecruitmentController.java | 3 ++- .../repository/RecruitmentCustomRepository.java | 1 + .../custom/RecruitmentCustomRepositoryImpl.java | 12 +++++++++++- .../recruitment/service/RecruitmentService.java | 3 ++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/controller/RecruitmentController.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/controller/RecruitmentController.java index 920729b0..901ad903 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/controller/RecruitmentController.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/controller/RecruitmentController.java @@ -56,9 +56,10 @@ public ResponseEntity recruitmentDetails(@PathVariable Long recr public ResponseEntity recruitmentList(@RequestParam(required = false) List positions, @RequestParam(required = false) List tags, @RequestParam(required = false) String keyword, + @RequestParam(required = false) Boolean isRecruiting, PageRequest pageRequest) { Pageable pageable = pageRequest.of(); - List result = recruitmentService.findRecruitmentList(positions, tags, keyword, pageable); + List result = recruitmentService.findRecruitmentList(positions, tags, keyword, isRecruiting, pageable); return ResponseEntity.ok(ResultResponse.of(ResultCode.RECRUITMENT_PAGING_GET_SUCCESS, result)); } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/RecruitmentCustomRepository.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/RecruitmentCustomRepository.java index 9456df96..2c547c57 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/RecruitmentCustomRepository.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/RecruitmentCustomRepository.java @@ -11,6 +11,7 @@ public interface RecruitmentCustomRepository { List findRecruitments(List positions, List tags, String keyword, + Boolean isRecruiting, Pageable pageable); Optional findRecruitmentWithMember(Long recruitmentId); diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/custom/RecruitmentCustomRepositoryImpl.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/custom/RecruitmentCustomRepositoryImpl.java index 215e60bc..28f59d3f 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/custom/RecruitmentCustomRepositoryImpl.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/custom/RecruitmentCustomRepositoryImpl.java @@ -5,6 +5,7 @@ import com.graphy.backend.domain.recruitment.repository.RecruitmentCustomRepository; import com.querydsl.core.types.dsl.BooleanExpression; import com.querydsl.jpa.impl.JPAQueryFactory; +import java.time.LocalDateTime; import lombok.RequiredArgsConstructor; import org.springframework.data.domain.Pageable; @@ -24,13 +25,16 @@ public class RecruitmentCustomRepositoryImpl implements RecruitmentCustomReposit public List findRecruitments(List positions, List tags, String title, + Boolean isRecruiting, Pageable pageable) { + return jpaQueryFactory .selectFrom(recruitment) .where( tagIn(tags), positionIn(positions), - recruitmentTitleLike(title) + recruitmentTitleLike(title), + isRecruiting(isRecruiting) ) .join(recruitment.member, member).fetchJoin() .leftJoin(recruitmentTag).on(recruitmentTag.recruitment.eq(recruitment)) @@ -62,5 +66,11 @@ private BooleanExpression positionIn(List positions) { private BooleanExpression recruitmentTitleLike(String title) { return title != null ? recruitment.title.like(title) : null; } + + private BooleanExpression isRecruiting(Boolean isRecruiting) { + if (isRecruiting == null) return null; + LocalDateTime now = LocalDateTime.now(); + return isRecruiting ? recruitment.endDate.after(now) : recruitment.endDate.before(now); + } } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/service/RecruitmentService.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/service/RecruitmentService.java index 32bf614e..a96f724c 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/service/RecruitmentService.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/service/RecruitmentService.java @@ -54,8 +54,9 @@ public GetRecruitmentDetailResponse findRecruitmentById(Long recruitmentId) { public List findRecruitmentList(List positions, List tags, String keyword, + Boolean isRecruiting, Pageable pageable) { - List result = recruitmentRepository.findRecruitments(positions, tags, keyword, pageable); + List result = recruitmentRepository.findRecruitments(positions, tags, keyword, isRecruiting, pageable); if (result.isEmpty()) throw new EmptyResultException(ErrorCode.RECRUITMENT_NOT_EXIST); return GetRecruitmentResponse.listOf(result); From 2a55af0b1425a42d9ab47860f4647fcdcbf84346 Mon Sep 17 00:00:00 2001 From: hangyeol Date: Sun, 12 Nov 2023 23:15:03 +0900 Subject: [PATCH 03/11] =?UTF-8?q?fix:=20TODO=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../recruitment/controller/RecruitmentController.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/controller/RecruitmentController.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/controller/RecruitmentController.java index 901ad903..38b22d17 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/controller/RecruitmentController.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/controller/RecruitmentController.java @@ -46,11 +46,7 @@ public ResponseEntity recruitmentDetails(@PathVariable Long recr GetRecruitmentDetailResponse result = recruitmentService.findRecruitmentById(recruitmentId); return ResponseEntity.ok(ResultResponse.of(ResultCode.RECRUITMENT_GET_SUCCESS, result)); } - - /** - * 모집 여부 필터링 - * 모집 중 필터링 - */ + @Operation(summary = "findRecruitmentList", description = "구인 게시글 조회") @GetMapping public ResponseEntity recruitmentList(@RequestParam(required = false) List positions, From ac4142bec7914ef03f1381c580d1ca11da53c116 Mon Sep 17 00:00:00 2001 From: hangyeol Date: Mon, 13 Nov 2023 09:47:57 +0900 Subject: [PATCH 04/11] =?UTF-8?q?feat:=20Recruitment=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=EC=97=90=20isRecruiting=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../graphy/backend/domain/recruitment/domain/Recruitment.java | 3 +++ .../recruitment/dto/response/GetRecruitmentDetailResponse.java | 3 +++ .../recruitment/dto/response/GetRecruitmentResponse.java | 3 +-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java index a758a6d8..ea1fa255 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java @@ -49,6 +49,9 @@ public class Recruitment extends BaseEntity { @Column(nullable = false) private LocalDateTime period; + @Column(nullable = false) + private boolean isRecruiting; + @Enumerated(EnumType.STRING) @Column(nullable = false) private Position position; diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java index 793956d1..4144f560 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java @@ -32,6 +32,8 @@ public class GetRecruitmentDetailResponse { private Integer recruitmentCount; + private boolean isRecruiting; + private List techTags; public static GetRecruitmentDetailResponse from(Recruitment recruitment) { @@ -44,6 +46,7 @@ public static GetRecruitmentDetailResponse from(Recruitment recruitment) { .period(recruitment.getPeriod()) .position(recruitment.getPosition()) .recruitmentCount(recruitment.getRecruitmentCount()) + .isRecruiting(recruitment.isRecruiting()) .techTags(recruitment.getTagNames()) .build(); } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java index f2fe7d63..1c77f8ea 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java @@ -30,13 +30,12 @@ public class GetRecruitmentResponse { private List techTags; public static GetRecruitmentResponse from(Recruitment recruitment) { - boolean isRecruiting = LocalDateTime.now().isBefore(recruitment.getEndDate()); return GetRecruitmentResponse.builder() .id(recruitment.getId()) .nickname(recruitment.getMember().getNickname()) .title(recruitment.getTitle()) .position(recruitment.getPosition()) - .isRecruiting(isRecruiting) + .isRecruiting(recruitment.isRecruiting()) .techTags(recruitment.getTagNames()) .build(); } From 005ed7f5761fc45e11674484f3f2a8a0da10a311 Mon Sep 17 00:00:00 2001 From: hangyeol Date: Mon, 13 Nov 2023 09:48:19 +0900 Subject: [PATCH 05/11] =?UTF-8?q?feat:=20Getter=20=EB=A9=94=EC=86=8C?= =?UTF-8?q?=EB=93=9C=20=EC=88=98=EC=A0=95=ED=95=98=EC=97=AC=20endDate?= =?UTF-8?q?=EA=B0=92=EC=97=90=20=EB=94=B0=EB=9D=BC=20=EB=8F=99=EC=A0=81?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EA=B0=92=EC=9D=B4=20=EB=B0=94=EB=80=8C?= =?UTF-8?q?=EA=B2=8C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../graphy/backend/domain/recruitment/domain/Recruitment.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java index ea1fa255..ceeecb6d 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java @@ -85,4 +85,8 @@ public void updateRecruitment(UpdateRecruitmentRequest request, Tags tags) { recruitmentTags.clear(); addTag(tags); } + + public boolean isRecruiting() { + return LocalDateTime.now().isBefore(this.endDate); + } } From 79960214cce41b80d54a47e9d90dce6a629dcd34 Mon Sep 17 00:00:00 2001 From: hangyeol Date: Mon, 13 Nov 2023 10:05:13 +0900 Subject: [PATCH 06/11] =?UTF-8?q?fix:=20isRecruiting=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20=EC=9D=B4=EB=A6=84=EC=9D=84=20getIsRecruiting=20?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../graphy/backend/domain/recruitment/domain/Recruitment.java | 2 +- .../recruitment/dto/response/GetRecruitmentDetailResponse.java | 2 +- .../domain/recruitment/dto/response/GetRecruitmentResponse.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java index ceeecb6d..7d849620 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java @@ -86,7 +86,7 @@ public void updateRecruitment(UpdateRecruitmentRequest request, Tags tags) { addTag(tags); } - public boolean isRecruiting() { + public boolean getIsRecruiting() { return LocalDateTime.now().isBefore(this.endDate); } } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java index 4144f560..6c3d9f92 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java @@ -46,7 +46,7 @@ public static GetRecruitmentDetailResponse from(Recruitment recruitment) { .period(recruitment.getPeriod()) .position(recruitment.getPosition()) .recruitmentCount(recruitment.getRecruitmentCount()) - .isRecruiting(recruitment.isRecruiting()) + .isRecruiting(recruitment.getIsRecruiting()) .techTags(recruitment.getTagNames()) .build(); } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java index 1c77f8ea..a1186615 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java @@ -35,7 +35,7 @@ public static GetRecruitmentResponse from(Recruitment recruitment) { .nickname(recruitment.getMember().getNickname()) .title(recruitment.getTitle()) .position(recruitment.getPosition()) - .isRecruiting(recruitment.isRecruiting()) + .isRecruiting(recruitment.getIsRecruiting()) .techTags(recruitment.getTagNames()) .build(); } From 4bc15768351051dce4045e87b308014a32f99a43 Mon Sep 17 00:00:00 2001 From: hangyeol Date: Thu, 16 Nov 2023 16:29:07 +0900 Subject: [PATCH 07/11] =?UTF-8?q?fix:=20isRecruiting=EC=9D=98=20=EC=B4=88?= =?UTF-8?q?=EA=B8=B0=EA=B0=92=EC=9D=84=20true=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../graphy/backend/domain/recruitment/domain/Recruitment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java index 7d849620..4a640998 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java @@ -49,7 +49,7 @@ public class Recruitment extends BaseEntity { @Column(nullable = false) private LocalDateTime period; - @Column(nullable = false) + @Column(nullable = true) private boolean isRecruiting; @Enumerated(EnumType.STRING) From f68c7e876aa48e627c3774ce1de3a8c9c6a433b1 Mon Sep 17 00:00:00 2001 From: hangyeol Date: Fri, 17 Nov 2023 02:36:48 +0900 Subject: [PATCH 08/11] =?UTF-8?q?fix:=20isRecruiting=20=EA=B8=B0=EB=B3=B8?= =?UTF-8?q?=EA=B0=92=EC=9D=84=20true=EB=A1=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/domain/recruitment/domain/Recruitment.java | 10 +++++----- .../dto/response/GetRecruitmentDetailResponse.java | 2 +- .../dto/response/GetRecruitmentResponse.java | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java index 4a640998..a7a97c31 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java @@ -49,8 +49,8 @@ public class Recruitment extends BaseEntity { @Column(nullable = false) private LocalDateTime period; - @Column(nullable = true) - private boolean isRecruiting; + @Column(nullable = false) + private boolean isRecruiting = true; @Enumerated(EnumType.STRING) @Column(nullable = false) @@ -86,7 +86,7 @@ public void updateRecruitment(UpdateRecruitmentRequest request, Tags tags) { addTag(tags); } - public boolean getIsRecruiting() { - return LocalDateTime.now().isBefore(this.endDate); - } +// public boolean IsRecruiting() { +// return LocalDateTime.now().isBefore(this.endDate); +// } } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java index 6c3d9f92..4144f560 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java @@ -46,7 +46,7 @@ public static GetRecruitmentDetailResponse from(Recruitment recruitment) { .period(recruitment.getPeriod()) .position(recruitment.getPosition()) .recruitmentCount(recruitment.getRecruitmentCount()) - .isRecruiting(recruitment.getIsRecruiting()) + .isRecruiting(recruitment.isRecruiting()) .techTags(recruitment.getTagNames()) .build(); } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java index a1186615..1c77f8ea 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java @@ -35,7 +35,7 @@ public static GetRecruitmentResponse from(Recruitment recruitment) { .nickname(recruitment.getMember().getNickname()) .title(recruitment.getTitle()) .position(recruitment.getPosition()) - .isRecruiting(recruitment.getIsRecruiting()) + .isRecruiting(recruitment.isRecruiting()) .techTags(recruitment.getTagNames()) .build(); } From 3ac86f084fe6f5a6a46818c86939cdf59dd32b7e Mon Sep 17 00:00:00 2001 From: hangyeol Date: Fri, 17 Nov 2023 03:16:44 +0900 Subject: [PATCH 09/11] =?UTF-8?q?fix:=20@Builder=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=EB=A1=9C=20isRecruiting=EC=9D=B4=20false=EB=A1=9C=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=EB=90=98=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=ED=95=B4?= =?UTF-8?q?=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../graphy/backend/domain/recruitment/domain/Recruitment.java | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java index a7a97c31..5e6feeaa 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java @@ -49,6 +49,7 @@ public class Recruitment extends BaseEntity { @Column(nullable = false) private LocalDateTime period; + @Builder.Default @Column(nullable = false) private boolean isRecruiting = true; From 276934d0767f2824ee028ff86067b2510df6ea6e Mon Sep 17 00:00:00 2001 From: hangyeol Date: Fri, 17 Nov 2023 03:42:01 +0900 Subject: [PATCH 10/11] =?UTF-8?q?fix:=20=EA=B5=AC=EC=9D=B8=EA=B8=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=ED=95=A0=20=EB=95=8C=20isRecruiting=20?= =?UTF-8?q?=EA=B0=92=20=EB=B3=80=EA=B2=BD=ED=95=A0=20=EC=88=98=20=EC=9E=88?= =?UTF-8?q?=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/domain/recruitment/domain/Recruitment.java | 5 +---- .../recruitment/dto/request/UpdateRecruitmentRequest.java | 3 +++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java index 5e6feeaa..3b05802c 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java @@ -82,12 +82,9 @@ public void updateRecruitment(UpdateRecruitmentRequest request, Tags tags) { this.recruitmentCount = request.getRecruitmentCount(); this.type = request.getType(); this.endDate = request.getEndDate(); + this.isRecruiting = request.isRecruiting(); this.position = request.getPosition(); recruitmentTags.clear(); addTag(tags); } - -// public boolean IsRecruiting() { -// return LocalDateTime.now().isBefore(this.endDate); -// } } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/request/UpdateRecruitmentRequest.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/request/UpdateRecruitmentRequest.java index c5c507bd..7a1ca1e0 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/request/UpdateRecruitmentRequest.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/request/UpdateRecruitmentRequest.java @@ -33,6 +33,9 @@ public class UpdateRecruitmentRequest { @NotNull(message = "period cannot be null") private LocalDateTime period; + @NotNull(message = "isRecruiting cannot be null") + private boolean isRecruiting; + @NotNull(message = "position cannot be null") private Position position; From a75b49d56750a334ce2e42b3f9c8d458c167be5f Mon Sep 17 00:00:00 2001 From: hangyeol Date: Fri, 17 Nov 2023 11:03:18 +0900 Subject: [PATCH 11/11] =?UTF-8?q?fix:=20=EC=82=AC=EC=9A=A9=EC=9E=90?= =?UTF-8?q?=EA=B0=80=20=EC=84=A0=ED=83=9D=ED=95=98=EA=B1=B0=EB=82=98=20?= =?UTF-8?q?=EB=A7=88=EA=B0=90=EA=B8=B0=ED=95=9C=EC=9D=B4=20=EC=A7=80?= =?UTF-8?q?=EB=82=98=EB=A9=B4=20false=EA=B0=80=20=EB=90=98=EA=B3=A0,=20?= =?UTF-8?q?=ED=95=84=ED=84=B0=EB=A7=81=EB=90=98=EC=96=B4=20=EA=B2=80?= =?UTF-8?q?=EC=83=89=EB=90=98=EA=B2=8C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/domain/recruitment/domain/Recruitment.java | 10 +++++++--- .../dto/request/UpdateRecruitmentRequest.java | 2 +- .../dto/response/GetRecruitmentDetailResponse.java | 2 +- .../dto/response/GetRecruitmentResponse.java | 2 +- .../custom/RecruitmentCustomRepositoryImpl.java | 5 ++--- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java index 3b05802c..8db798bc 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/domain/Recruitment.java @@ -49,9 +49,13 @@ public class Recruitment extends BaseEntity { @Column(nullable = false) private LocalDateTime period; - @Builder.Default @Column(nullable = false) - private boolean isRecruiting = true; + private Boolean isRecruiting; + + @PrePersist + private void initIsRecruiting() { + this.isRecruiting = LocalDateTime.now().isBefore(this.endDate); + } @Enumerated(EnumType.STRING) @Column(nullable = false) @@ -82,7 +86,7 @@ public void updateRecruitment(UpdateRecruitmentRequest request, Tags tags) { this.recruitmentCount = request.getRecruitmentCount(); this.type = request.getType(); this.endDate = request.getEndDate(); - this.isRecruiting = request.isRecruiting(); + this.isRecruiting = request.getIsRecruiting(); this.position = request.getPosition(); recruitmentTags.clear(); addTag(tags); diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/request/UpdateRecruitmentRequest.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/request/UpdateRecruitmentRequest.java index 7a1ca1e0..b7ed7ecf 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/request/UpdateRecruitmentRequest.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/request/UpdateRecruitmentRequest.java @@ -34,7 +34,7 @@ public class UpdateRecruitmentRequest { private LocalDateTime period; @NotNull(message = "isRecruiting cannot be null") - private boolean isRecruiting; + private Boolean isRecruiting; @NotNull(message = "position cannot be null") private Position position; diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java index 4144f560..6c3d9f92 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentDetailResponse.java @@ -46,7 +46,7 @@ public static GetRecruitmentDetailResponse from(Recruitment recruitment) { .period(recruitment.getPeriod()) .position(recruitment.getPosition()) .recruitmentCount(recruitment.getRecruitmentCount()) - .isRecruiting(recruitment.isRecruiting()) + .isRecruiting(recruitment.getIsRecruiting()) .techTags(recruitment.getTagNames()) .build(); } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java index 1c77f8ea..a1186615 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/dto/response/GetRecruitmentResponse.java @@ -35,7 +35,7 @@ public static GetRecruitmentResponse from(Recruitment recruitment) { .nickname(recruitment.getMember().getNickname()) .title(recruitment.getTitle()) .position(recruitment.getPosition()) - .isRecruiting(recruitment.isRecruiting()) + .isRecruiting(recruitment.getIsRecruiting()) .techTags(recruitment.getTagNames()) .build(); } diff --git a/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/custom/RecruitmentCustomRepositoryImpl.java b/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/custom/RecruitmentCustomRepositoryImpl.java index 28f59d3f..78010301 100644 --- a/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/custom/RecruitmentCustomRepositoryImpl.java +++ b/backend/src/main/java/com/graphy/backend/domain/recruitment/repository/custom/RecruitmentCustomRepositoryImpl.java @@ -68,9 +68,8 @@ private BooleanExpression recruitmentTitleLike(String title) { } private BooleanExpression isRecruiting(Boolean isRecruiting) { - if (isRecruiting == null) return null; - LocalDateTime now = LocalDateTime.now(); - return isRecruiting ? recruitment.endDate.after(now) : recruitment.endDate.before(now); + if(isRecruiting == null) return null; + return recruitment.isRecruiting.eq(isRecruiting); } }