sakthivikram/geo-location
0
1package com.georeport.dto;2 3import com.georeport.entity.IssuePriority;4import com.georeport.entity.IssueStatus;5import lombok.Data;6 7import java.time.LocalDateTime;8import java.util.List;9 10/**11 * Request DTO for advanced issue search with multiple filter options.12 */13@Data14public class IssueSearchRequest {15 16 /**17 * Keyword search in title and description18 */19 private String keyword;20 21 /**22 * Filter by multiple statuses23 */24 private List<IssueStatus> statuses;25 26 /**27 * Filter by multiple categories28 */29 private List<Long> categoryIds;30 31 /**32 * Filter by multiple priorities33 */34 private List<IssuePriority> priorities;35 36 /**37 * Filter by ward38 */39 private String ward;40 41 /**42 * Start date for date range filter43 */44 private LocalDateTime startDate;45 46 /**47 * End date for date range filter48 */49 private LocalDateTime endDate;50 51 /**52 * Center latitude for radius search53 */54 private Double latitude;55 56 /**57 * Center longitude for radius search58 */59 private Double longitude;60 61 /**62 * Radius in meters for proximity search63 */64 private Double radiusMeters;65 66 /**67 * Sort field (createdAt, priority, status)68 */69 private String sortBy = "createdAt";70 71 /**72 * Sort direction (asc, desc)73 */74 private String sortDirection = "desc";75}76 