package com.ycwl.basic.model.pc.videoreview.dto;

import lombok.Data;

/**
 * 视频评价列表查询请求DTO
 */
@Data
public class VideoReviewListReqDTO {

    /**
     * 视频ID(可选)
     */
    private Long videoId;

    /**
     * 景区ID(可选)
     */
    private Long scenicId;

    /**
     * 评价人ID(可选)
     */
    private Long creator;

    /**
     * 评分(可选,精确匹配)
     */
    private Integer rating;

    /**
     * 最小评分(可选,范围查询)
     */
    private Integer minRating;

    /**
     * 最大评分(可选,范围查询)
     */
    private Integer maxRating;

    /**
     * 开始时间(可选,格式: yyyy-MM-dd HH:mm:ss)
     */
    private String startTime;

    /**
     * 结束时间(可选,格式: yyyy-MM-dd HH:mm:ss)
     */
    private String endTime;

    /**
     * 关键词搜索(可选,搜索评价内容)
     */
    private String keyword;

    /**
     * 问题机位ID(可选,筛选包含该机位ID的评价)
     * 任意一个问题机位匹配即可
     */
    private Long problemDeviceId;

    /**
     * 问题标签(可选,筛选包含该标签的评价)
     * 任意一个标签匹配即可
     */
    private String problemTag;

    /**
     * 来源(可选,筛选指定来源的评价)
     * 固定值: ORDER(订单), RENDER(渲染)
     */
    private String source;

    /**
     * 页码(必填,默认1)
     */
    private Integer pageNum = 1;

    /**
     * 每页数量(必填,默认10)
     */
    private Integer pageSize = 10;

    /**
     * 排序字段(可选,默认create_time)
     * 可选值: create_time, rating, update_time
     */
    private String orderBy = "create_time";

    /**
     * 排序方向(可选,默认DESC)
     * 可选值: ASC, DESC
     */
    private String orderDirection = "DESC";
}
