package com.ruoyi.info.hospital.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.filepathsplicing.FilePathRich;
import com.ruoyi.common.filepathsplicing.FilePathValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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


/**
 * 医院信息视图对象 tb_hospital
 *
 * @author baifc
 * @date 2025-09-20
 */
@Data
@ApiModel("医院信息视图对象")
@ExcelIgnoreUnannotated
public class HospitalVo implements Serializable {

    private static final long serialVersionUID = 1L;

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

    /**
     * 医院名称
     */
    @ExcelProperty(value = "医院名称")
    @ApiModelProperty("医院名称")
    private String name;

    /**
     * 负责人
     */
    @ExcelProperty(value = "负责人")
    @ApiModelProperty("负责人")
    private String responsiblePerson;

    /**
     * 联系方式
     */
    @ExcelProperty(value = "联系方式")
    @ApiModelProperty("联系方式")
    private String contactMobile;

    /**
     * 医院地址
     */
    @ExcelProperty(value = "医院地址")
    @ApiModelProperty("医院地址")
    private String address;

    /**
     * 营业状态 0-正常 1-已停业
     */
    @ExcelProperty(value = "营业状态 0-正常 1-已停业")
    @ApiModelProperty("营业状态 0-正常 1-已停业")
    private String businessStatus;

    /**
     * 上架状态 0-上架 1-下架
     */
    @ExcelProperty(value = "上架状态 0-上架 1-下架")
    @ApiModelProperty("上架状态 0-上架 1-下架")
    private String rackStatus;

    /**
     * 医院等级
     */
    @ExcelProperty(value = "医院等级")
    @ApiModelProperty("医院等级")
    private String level;

    /**
     * 医院标签
     */
    @ExcelProperty(value = "医院标签")
    @ApiModelProperty("医院标签")
    private String label;

    /**
     * 省id
     */
    @ExcelProperty(value = "省id")
    @ApiModelProperty("省id")
    private String provinceId;

    /**
     * 省名称
     */
    @ExcelProperty(value = "省名称")
    @ApiModelProperty("省名称")
    private String provinceName;

    /**
     * 市id
     */
    @ExcelProperty(value = "市id")
    @ApiModelProperty("市id")
    private String cityId;

    /**
     * 市名称
     */
    @ExcelProperty(value = "市名称")
    @ApiModelProperty("市名称")
    private String cityName;

    /**
     * 区域id
     */
    @ExcelProperty(value = "区域id")
    @ApiModelProperty("区域id")
    private String areaId;

    /**
     * 区域名称
     */
    @ExcelProperty(value = "区域名称")
    @ApiModelProperty("区域名称")
    private String areaName;

    /**
     * 经纬度
     */
    @ExcelProperty(value = "经纬度")
    @ApiModelProperty("经纬度")
    private String coordinates;

    /**
     * 客服电话
     */
    @ExcelProperty(value = "客服电话")
    @ApiModelProperty("客服电话")
    private String serviceMobile;

    /**
     * 医院介绍
     */
    @FilePathRich
    @ExcelProperty(value = "医院介绍")
    @ApiModelProperty("医院介绍")
    private String introduction;

    /**
     * 医院logo_url
     */
    @FilePathValue
    @ExcelProperty(value = "医院logo_url")
    @ApiModelProperty("医院logo_url")
    private String logoUrl;

    /**
     * 小程序二维码url
     */
    @FilePathValue
    @ExcelProperty(value = "小程序二维码url")
    @ApiModelProperty("小程序二维码url")
    private String qrCodeUrl;

    /**
     * 营业时间
     */
    @ExcelProperty(value = "营业时间")
    @ApiModelProperty("营业时间")
    private String businessHours;

    /**
     * 排序序号
     */
    @ExcelProperty(value = "排序序号")
    @ApiModelProperty("排序序号")
    private Integer sortOrder;

    /**
     * 相对距离
     */
    @ApiModelProperty("相对距离")
    private BigDecimal relativeDistance;

    /**
     * 距离单位
     */
    @ApiModelProperty("距离单位")
    private String distanceUnit;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
}
