package com.zfire.jiasm.syncdata.plus.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 商户表
 * </p>
 *
 * @author gejiang
 * @since 2023-07-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="CustomerInformation对象", description="商户表")
public class CustomerInformation extends Model<CustomerInformation> {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "客户id")
    @TableId(value = "customer_id", type = IdType.ID_WORKER_STR)
    private String customerId;

    @ApiModelProperty(value = "X1=总包商户   X2=商户网点")
    private String websitType;

    @ApiModelProperty(value = "集团公司id")
    private String groupCompanyId;

    @ApiModelProperty(value = "集团公司名称")
    private String groupCompanyName;

    @ApiModelProperty(value = "网点编号")
    private String websitId;

    @ApiModelProperty(value = "商户名称/网点名称")
    private String websitName;

    @ApiModelProperty(value = "上级网点编号")
    private String parentWebsitId;

    @ApiModelProperty(value = "负责人")
    private String personName;

    @ApiModelProperty(value = "结算主体id(当前与总包商户customer_information.id和websit_id一致)")
    private String brandId;

    @ApiModelProperty(value = "结算主体名称")
    private String brandName;

    @ApiModelProperty(value = "结算主题系统编号")
    private String brandSysWebsitNumber;

    @ApiModelProperty(value = "结算主体网点编号")
    private String brandWebsitId;

    @ApiModelProperty(value = "结算主体网点名称")
    private String brandWebsitName;

    @ApiModelProperty(value = "结算主体售后中心编号")
    private String brandAfterSaleWebsitId;

    @ApiModelProperty(value = "结算主体售后中心名称")
    private String brandAfterSaleWebsitName;

    @ApiModelProperty(value = "结算主体上级销售中心编号")
    private String brandParentSaleWebsitId;

    @ApiModelProperty(value = "产品品牌id(对应字典PRODUCT_BRAND)")
    private String productBrandId;

    @ApiModelProperty(value = "产品品牌名称")
    private String productBrandName;

    @ApiModelProperty(value = "负责人手机")
    private String phone;

    @ApiModelProperty(value = "电话号码")
    private String telPhone;

    @ApiModelProperty(value = "服务热线")
    private String hotline;

    @ApiModelProperty(value = "是否独立法人 YES=是 NO=否")
    private String legal;

    @ApiModelProperty(value = "法人代表")
    private String legalPerson;

    @ApiModelProperty(value = "法人身份证")
    private String legalIdCard;

    @ApiModelProperty(value = "省")
    private String province;

    @ApiModelProperty(value = "市")
    private String city;

    @ApiModelProperty(value = "区")
    private String area;

    @ApiModelProperty(value = "街道")
    private String street;

    @ApiModelProperty(value = "收货地址")
    private String receAddress;

    @ApiModelProperty(value = "省")
    private String provinceId;

    @ApiModelProperty(value = "市")
    private String cityId;

    @ApiModelProperty(value = "区")
    private String areaId;

    @ApiModelProperty(value = "街道")
    private String streetId;

    @ApiModelProperty(value = "网点性质  ONLY_SELL=只卖不装  SELL_INSTALL=自卖自装")
    private String networkType;

    @ApiModelProperty(value = "经营面积")
    private String businessArea;

    @ApiModelProperty(value = "展示品牌")
    private String showBrand;

    @ApiModelProperty(value = "办公面积")
    private String officeArea;

    @ApiModelProperty(value = "营业执照")
    private String businessLicense;

    @ApiModelProperty(value = "仓库面积")
    private String warehouseArea;

    @ApiModelProperty(value = "专卖店编号")
    private String shopNo;

    @ApiModelProperty(value = "展示品类")
    private String showCategory;

    @ApiModelProperty(value = "邮编")
    private String postalCode;

    @ApiModelProperty(value = "电商签约网点   YES=是 NO=否")
    private String onlineRetailers;

    @ApiModelProperty(value = "电商专员")
    private String onlineSpecialist;

    @ApiModelProperty(value = "电商专员电话")
    private String specialistPhone;

    @ApiModelProperty(value = "ON=有效  OFF=无效")
    private String status;

    @ApiModelProperty(value = "保证金")
    private BigDecimal bond;

    @ApiModelProperty(value = "保证金时间")
    private Date bondTime;

    @ApiModelProperty(value = "备注")
    private String notes;

    @ApiModelProperty(value = "创建人（制单人）")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "经营层级 门店/代理商")
    private String businessLevel;

    @ApiModelProperty(value = "经营性质 无/专卖店A/专卖店B/直营店/地方连锁/全球连锁/商超")
    private String businessNature;

    @ApiModelProperty(value = "寻源级别 市级寻源/区级寻源")
    private String sourcingLevel;

    @ApiModelProperty(value = "新建专门店日期")
    private Date specialStoreTime;

    @ApiModelProperty(value = "专卖店规模")
    private String specialStoreScale;

    @ApiModelProperty(value = "专卖店等级")
    private String specialStoreLevel;

    @ApiModelProperty(value = "专卖店层级分类")
    private String specialHierarchyType;

    @ApiModelProperty(value = "行政区域代码")
    private String qhdm;

    @ApiModelProperty(value = "是否设置指定派工 YES 是 NO 否")
    private String appointType;

    @ApiModelProperty(value = "每月指定派工安装台数")
    private Integer appointNum;

    @ApiModelProperty(value = "指定派工备注")
    private String appointRemark;

    @ApiModelProperty(value = "指定派工  ON=有效  OFF=无效")
    private String appointStatus;

    @ApiModelProperty(value = "业务大区")
    private String serviceFrom;

    @ApiModelProperty(value = "业务线")
    private String serviceLine;

    @ApiModelProperty(value = "业务部门")
    private String serviceDepartment;

    @ApiModelProperty(value = "业务员")
    private String serviceName;

    @ApiModelProperty(value = "是否配置区域 YES 是 NO否")
    private String serviceType;

    @ApiModelProperty(value = "区域配置备注")
    private String serviceRemark;

    @ApiModelProperty(value = "区域配置状态  OFF失效 ON有效")
    private String serviceStatus;

    @ApiModelProperty(value = "是否配置接单能力 YES 是 NO 否")
    private String abilityType;

    @ApiModelProperty(value = "平均班组数")
    private Integer abilityTeamNum;

    @ApiModelProperty(value = "饱和台数")
    private Integer abilitySatisfyNum;

    @ApiModelProperty(value = "最大台数")
    private Integer abilityMaxNum;

    @ApiModelProperty(value = "接单能力配置状态  ON=有效  OFF=无效")
    private String abilityStatus;

    @ApiModelProperty(value = "是否需对接第三方集团系统 YES/NO")
    private String isExternalSys;


    @Override
    protected Serializable pkVal() {
        return this.customerId;
    }

}
