package com.microservices.zone.search.dto;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 全局搜索结果对象
 *
 * @author microservices
 */
@Data
@ApiModel("全局搜索结果对象")
public class GlobalSearchResult implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 结果类型（zone_project, resource, member）
     */
    @ApiModelProperty(value = "结果类型")
    private String type;

    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    private Long id;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题")
    private String title;

    /**
     * 内容摘要
     */
    @ApiModelProperty(value = "内容摘要")
    private String content;

    /**
     * 组织ID
     */
    @ApiModelProperty(value = "组织ID")
    private Long deptId;

    /**
     * 专区ID
     */
    @ApiModelProperty(value = "专区ID")
    private Long zoneId;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 相关度评分
     */
    @ApiModelProperty(value = "相关度评分")
    private Double score;

    /**
     * 扩展数据（JSON格式）
     */
    @ApiModelProperty(value = "扩展数据")
    private JSONObject extendData;
}
