package com.microservices.zone.search.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 全局搜索响应对象
 *
 * @author microservices
 */
@Data
@ApiModel("全局搜索响应对象")
public class GlobalSearchResponse implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 总结果数
     */
    @ApiModelProperty(value = "总结果数")
    private Long total;

    /**
     * 搜索结果列表
     */
    @ApiModelProperty(value = "搜索结果列表")
    private List<GlobalSearchResult> results;

    /**
     * 各类型结果数量统计
     */
    @ApiModelProperty(value = "各类型结果数量统计")
    private Map<String, Long> typeCounts;

    /**
     * 搜索耗时（毫秒）
     */
    @ApiModelProperty(value = "搜索耗时（毫秒）")
    private Long searchTime;

    /**
     * 搜索关键词
     */
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;

    /**
     * 当前页码
     */
    @ApiModelProperty(value = "当前页码")
    private Integer pageNum;

    /**
     * 每页数量
     */
    @ApiModelProperty(value = "每页数量")
    private Integer pageSize;
}
