Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
package com.ai.lawyer.domain.law.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class LawSearchRequestDto {

@Schema(description = "법령명", example = "형사")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LawsDto {
private Long id;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;

@Data
public class PrecedentSearchRequestDto {

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

@Schema(description = "선고일자 시작", example = "2000-01-01")
private LocalDate sentencingDateStart; // 선고일자 시작

@Schema(description = "선고일자 종료", example = "2024-12-31")
private LocalDate sentencingDateEnd; // 선고일자 종료

@Schema(description = "페이지 번호 (0부터 시작)", example = "0")
private int pageNumber; // 페이지 번호

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,19 @@ public Page<PrecedentSummaryListDto> searchPrecedentsByKeyword(PrecedentSearchRe
.or(precedent.getCaseNumber().like(pattern));
}

// 선고일자 범위 조건
if (requestDto.getSentencingDateStart() != null &&
requestDto.getSentencingDateEnd() != null) {
builder.and(precedent.getSentencingDate().between(
requestDto.getSentencingDateStart(),
requestDto.getSentencingDateEnd()));
} else if (requestDto.getSentencingDateStart() != null) {
builder.and(precedent.getSentencingDate().goe(requestDto.getSentencingDateStart()));
} else if (requestDto.getSentencingDateEnd() != null) {
builder.and(precedent.getSentencingDate().loe(requestDto.getSentencingDateEnd()));
}


// 페이징 및 정렬 설정
Pageable pageable = PageRequest.of(
requestDto.getPageNumber(),
Expand Down