package com.hotwj.platform.resourceManagement.govEnterpriseUnit.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.hotwj.platform.resourceManagement.govEnterpriseUnit.domain.HotGovEnterpriseUnit;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;

import java.io.Serial;
import java.io.Serializable;


/**
 * 政企单位视图对象 hot_gov_enterprise_unit
 *
 * @author shihongwei
 * @date 2026-01-12
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = HotGovEnterpriseUnit.class)
public class HotGovEnterpriseUnitVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 单位类型（1=政企 2=代理商）
     */
    @ExcelProperty(value = "单位类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1==政企,2==代理商")
    private Long unitType;

    /**
     * 上级单位ID
     */
    @ExcelProperty(value = "上级单位ID")
    private Long parentUnitId;

    /**
     * 上级单位名称
     */
    @ExcelProperty(value = "上级单位名称")
    private String parentUnitName;

    /**
     * 单位名称
     */
    @ExcelProperty(value = "单位名称")
    private String unitName;

    /**
     * 省编码
     */
    @ExcelProperty(value = "省编码")
    private String provinceCode;

    /**
     * 市编码
     */
    @ExcelProperty(value = "市编码")
    private String cityCode;

    /**
     * 区/县编码
     */
    @ExcelProperty(value = "区/县编码")
    private String districtCode;

    /**
     * 联系人
     */
    @ExcelProperty(value = "联系人")
    private String contactName;

    /**
     * 联系人电话
     */
    @ExcelProperty(value = "联系人电话")
    private String contactPhone;

    /**
     * 备用联系人
     */
    @ExcelProperty(value = "备用联系人")
    private String backupContactName;

    /**
     * 备用联系人电话
     */
    @ExcelProperty(value = "备用联系人电话")
    private String backupContactPhone;

    /**
     * 办公地址
     */
    @ExcelProperty(value = "办公地址")
    private String officeAddress;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 0=正常, 1=已删除
     */
    @ExcelProperty(value = "0=正常, 1=已删除")
    private Long isDeleted;

    private Long createBy;

    private String createByName;
}
