package com.yuchen.saas.manage.system.api.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * <p>
 * 客户管理
 * </p>
 *
 * @author miaoqs
 * @since 2023-09-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("nest_customer_manage")
@ApiModel(value = "NestCustomerManage对象", description = "客户管理")
public class NestCustomerManage extends TenantEntity {

    /**
     * 客户名称
     */
    @NotBlank(message = "客户简称不能为空")
    @ApiModelProperty(name = "name", value = "客户简称")
    private String name;

    /**
     * 上级客户
     */
    @ApiModelProperty(name = "parentId", value = "上级客户")
    private Long parentId;

    /**
     * 客户主体类型 1:单位；2：企业；3：个体户；4：个人；5：其他
     */
    @NotNull(message = "客户主体类型不能为空")
    @ApiModelProperty(name = "type", value = "客户主体类型 1:单位；2：企业；3：个体户；4：个人；5：其他")
    private Integer type;

    /**
     * 客户机构名称主体id
     */
    @NotNull(message = "客户机构名称id不能为空")
    @ApiModelProperty(name = "subjectId", value = "客户机构名称主体id")
    private Long subjectId;

    /**
     * 联系人
     */
    @NotBlank(message = "联系人不能为空")
    @ApiModelProperty(name = "linkman", value = "联系人")
    private String linkman;

    /**
     * 联系方式
     */
    @NotBlank(message = "联系方式不能为空")
    @ApiModelProperty(name = "phone", value = "联系方式")
    private String phone;

    /**
     *
     * 备注信息
     */
    @ApiModelProperty(name = "remark", value = "备注信息")
    private String remark;

    /**
     * PC端域名地址 1:统一平台；2：指定地址
     */
    @ApiModelProperty(name = "addressType", value = "PC端域名地址 1:统一平台；2：指定地址")
    private Integer addressType;

    /**
     * 平台域名地址
     */
    @ApiModelProperty(name = "adressUrl", value = "平台域名地址")
    private String addressUrl;

    /**
     * 平台名称
     */
    @ApiModelProperty(name = "platformName", value = "平台名称")
    private String platformName;

    /**
     * 平台简介
     */
    @ApiModelProperty(name = "platformInfo", value = "平台简介")
    private String platformInfo;

    /**
     * 平台LOGO
     */
    @ApiModelProperty(name = "platformLogo", value = "平台LOGO")
    private String platformLogo;

    /**
     * 启用状态 0：禁用；1：启用
     */
    @ApiModelProperty(name = "state", value = "启用状态 0：禁用；1：启用")
    private Integer state;

    /**
     * 编码
     */
    @ApiModelProperty(name = "encode", value = "编码")
    private String encode;

    /**
     * 是否是超级管里员客户0否1是
     */
    @ApiModelProperty(name = "isSuperAdmin", value = "是否是超级管里员客户0否1是")
    private Integer isSuperAdmin;

    /**
     * 客户类型（1：小区服务商，2：物业服务商，3：服务提供商。4：场站运营商，5：场站业主方，6：园区业主方）
     */
    @ApiModelProperty(name = "customType", value = "客户类型（1：小区服务商，2：物业服务商，3：服务提供商。4：场站运营商，5：场站业主方，6：园区业主方）")
    @NotNull(message = "客户类型不能为空")
    private Integer customType;

    /**
     * 入驻类型（1：统一运营，2：独立运营
     */
    @ApiModelProperty(name = "entryType", value = "入驻类型（1：统一运营，2：独立运营）")
    @NotNull(message = "入驻类型不能为空")
    private Integer entryType;


    /**
     * 入驻时间
     */
    @ApiModelProperty(name = "entryTime", value = "入驻时间）")
    private Date entryTime;
}
