package com.ruoyi.system.domain.fieldchangerecord.vo;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 字段级变更 明细 / 汇总 查询入参。
 *
 * <p>房源侧和经营主体侧共用此结构，在 Service 层由不同方法分流：</p>
 * <ul>
 *     <li>房源侧：{@code hrTypes / two / three / four} 作用在 {@code house_resource} 自身；</li>
 *     <li>经营主体侧：通过 mapping → house_resource 关联过滤，即"至少关联到一个匹配条件房源"
 *         的经营主体才会被计入。</li>
 * </ul>
 */
@Data
public class FieldChangeRecordQuery {

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date changeStartTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date changeEndTime;

    /** 字段码多选。为空表示不限（后端默认带入当前主体侧全部字段）。 */
    private List<String> fieldCodes;

    /** 操作类型多选，取值 1（新增）/ 2（修改）。为空表示不限。 */
    private List<Integer> operationTypes;

    /** 房源类型多选 1/4/5/6/7。 */
    private List<Integer> hrTypes;

    private String two;

    private String three;

    private String four;

    /** 当前登录人网格权限范围，由 Service 层注入，前端无需传。 */
    private List<String> wgCodes;

    /** 明细分页参数；汇总接口忽略。 */
    private Integer pageNum;

    private Integer pageSize;
}
