Skip to content

Commit 4c13d12

Browse files
authored
Merge pull request #187 from prgrms-web-devcourse-final-project/feat/186-precedent
feat[precedent]: 판례 목록 검색 선고일자 조건 추가
2 parents 455c569 + 49be665 commit 4c13d12

File tree

4 files changed

+27
-0
lines changed

4 files changed

+27
-0
lines changed

backend/src/main/java/com/ai/lawyer/domain/law/dto/LawSearchRequestDto.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
package com.ai.lawyer.domain.law.dto;
22

33
import io.swagger.v3.oas.annotations.media.Schema;
4+
import lombok.AllArgsConstructor;
45
import lombok.Builder;
56
import lombok.Data;
7+
import lombok.NoArgsConstructor;
68

79
import java.time.LocalDate;
810

911
@Data
1012
@Builder
13+
@NoArgsConstructor
14+
@AllArgsConstructor
1115
public class LawSearchRequestDto {
1216

1317
@Schema(description = "법령명", example = "형사")

backend/src/main/java/com/ai/lawyer/domain/law/dto/LawsDto.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
import lombok.AllArgsConstructor;
44
import lombok.Builder;
55
import lombok.Data;
6+
import lombok.NoArgsConstructor;
67

78
import java.time.LocalDate;
89

910
@Data
1011
@Builder
1112
@AllArgsConstructor
13+
@NoArgsConstructor
1214
public class LawsDto {
1315
private Long id;
1416

backend/src/main/java/com/ai/lawyer/domain/precedent/dto/PrecedentSearchRequestDto.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,20 @@
33
import io.swagger.v3.oas.annotations.media.Schema;
44
import lombok.Data;
55

6+
import java.time.LocalDate;
7+
68
@Data
79
public class PrecedentSearchRequestDto {
810

911
@Schema(description = "검색 키워드", example = "절도")
1012
private String keyword; // 검색 키워드
1113

14+
@Schema(description = "선고일자 시작", example = "2000-01-01")
15+
private LocalDate sentencingDateStart; // 선고일자 시작
16+
17+
@Schema(description = "선고일자 종료", example = "2024-12-31")
18+
private LocalDate sentencingDateEnd; // 선고일자 종료
19+
1220
@Schema(description = "페이지 번호 (0부터 시작)", example = "0")
1321
private int pageNumber; // 페이지 번호
1422

backend/src/main/java/com/ai/lawyer/domain/precedent/repository/PrecedentRepositoryImpl.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,19 @@ public Page<PrecedentSummaryListDto> searchPrecedentsByKeyword(PrecedentSearchRe
3838
.or(precedent.getCaseNumber().like(pattern));
3939
}
4040

41+
// 선고일자 범위 조건
42+
if (requestDto.getSentencingDateStart() != null &&
43+
requestDto.getSentencingDateEnd() != null) {
44+
builder.and(precedent.getSentencingDate().between(
45+
requestDto.getSentencingDateStart(),
46+
requestDto.getSentencingDateEnd()));
47+
} else if (requestDto.getSentencingDateStart() != null) {
48+
builder.and(precedent.getSentencingDate().goe(requestDto.getSentencingDateStart()));
49+
} else if (requestDto.getSentencingDateEnd() != null) {
50+
builder.and(precedent.getSentencingDate().loe(requestDto.getSentencingDateEnd()));
51+
}
52+
53+
4154
// 페이징 및 정렬 설정
4255
Pageable pageable = PageRequest.of(
4356
requestDto.getPageNumber(),

0 commit comments

Comments
 (0)