package com.tourism.webadmin.back.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 * 公司信息管理VO视图对象。
 *
 * @author 吃饭睡觉
 * @date 2024-09-06
 */
@Schema(description = "CompanyInfoVO视图对象")
@Data
public class CompanyInfoVo {

    /**
     * 主键id。
     */
    @Schema(description = "主键id")
    private String id;

    /**
     * 公司名称。
     */
    @Schema(description = "公司名称")
    private String companyName;

    /**
     * 公司地址。
     */
    @Schema(description = "公司地址")
    private String address;

    /**
     * 成立日期。
     */
    @Schema(description = "成立日期")
    private Date establishDate;

    /**
     * 联系电话。
     */
    @Schema(description = "联系电话")
    private String telephone;

    /**
     * 公司网站链接。
     */
    @Schema(description = "公司网站链接")
    private String website;

    /**
     * 公司类型。
     */
    @Schema(description = "公司类型")
    private Integer companyType;

    /**
     * 公司邮箱。
     */
    @Schema(description = "公司邮箱")
    private String email;

    /**
     * 公司图片上传地址。
     */
    @Schema(description = "公司图片上传地址")
    private String companyUrl;

    /**
     * 创建用户。
     */
    @Schema(description = "创建用户")
    private String createUserId;

    /**
     * 创建时间。
     */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
     * 更新用户。
     */
    @Schema(description = "更新用户")
    private String updateUserId;

    /**
     * 更新时间。
     */
    @Schema(description = "更新时间")
    private Date updateTime;

    /**
     * id 的一对一关联数据对象，数据对应类型为CompanyContentVo。
     */
    @Schema(description = "id 的一对一关联数据对象，数据对应类型为CompanyContentVo")
    private Map<String, Object> companyContent;

    /**
     * companyType 常量字典关联数据。
     */
    @Schema(description = "companyType 常量字典关联数据")
    private Map<String, Object> companyTypeDictMap;
}
