package jnpf.model.franchisee.po;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import jnpf.base.entity.SuperEntity;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

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

/**
 * 加盟商主表实体
 */
@Getter
@Setter
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "ftb_franchisee")
public class FranchiseeEntity extends SuperEntity.SuperCUBaseEntity<String> implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 加盟商性质
     */
    @TableField(value = "F_FranchiseeNature")
    private String franchiseeNature;

    /**
     * 加盟商名称
     */
    @TableField(value = "F_FranchiseeName")
    private String franchiseeName;

    /**
     * 营业执照图片
     */
    @TableField(value = "F_BusinessLicenseUrl")
    private String businessLicenseUrl;

    /**
     * 公司名称
     */
    @TableField(value = "F_CompanyName")
    private String companyName;

    /**
     * 性别
     */
    @TableField(value = "F_Gender")
    private String gender;

    /**
     * 负责人身份证正面照片
     */
    @TableField(value = "F_IdCardFrontUrl")
    private String idCardFrontUrl;

    /**
     * 负责人身份证号
     */
    @TableField(value = "F_IdCardNumber")
    private String idCardNumber;

    /**
     * 现住址/公司地址
     */
    @TableField(value = "F_CurrentAddress")
    private String currentAddress;

    /**
     * 银行卡号
     */
    @TableField(value = "F_BankCardNumber")
    private String bankCardNumber;

    /**
     * 加盟商编号
     */
    @TableField(value = "F_FranchiseeCode")
    private String franchiseeCode;

    /**
     * 手机号
     */
    @TableField(value = "F_MobilePhone")
    private String mobilePhone;

    /**
     * 负责人/法定代表人/经营者
     */
    @TableField(value = "F_Principal")
    private String principal;

    /**
     * 负责人身份证反面照片
     */
    @TableField(value = "F_IdCardBackUrl")
    private String idCardBackUrl;

    /**
     * 年龄
     */
    @TableField(value = "F_Age",updateStrategy = FieldStrategy.IGNORED)
    private Integer age;

    /**
     * 开户行
     */
    @TableField(value = "F_BankName")
    private String bankName;

    /**
     * 加盟商状态
     */
    @TableField(value = "F_FranchiseeStatus")
    private String franchiseeStatus;

    /**
     * 加盟方式
     */
    @TableField(value = "F_JoinType")
    private String joinType;

    /**
     * 加盟日期
     */
    @TableField(value = "F_JoinDate")
    private Date joinDate;

    /**
     * 成立时间
     */
    @TableField(value = "F_EstablishDate")
    private Date establishDate;

    /**
     * 经营性质
     */
    @TableField(value = "F_BusinessNature")
    private String businessNature;

    /**
     * 门店商圈
     */
    @TableField(value = "F_StoreBusinessDistrict")
    private String storeBusinessDistrict;

    /**
     * 门店数量
     */
    @TableField(value = "F_StoreNum")
    private Integer storeNum;

    /**
     * 投资门店数
     */
    @TableField(value = "F_InvestStoreCount",updateStrategy = FieldStrategy.IGNORED)
    private Integer investStoreCount;

    /**
     * 投资金额
     */
    @TableField(value = "F_InvestAmount",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal investAmount;

    /**
     * 盈利预期
     */
    @TableField(value = "F_ProfitExpectation")
    private String profitExpectation;

    /**
     * 预计员工数
     */
    @TableField(value = "F_ExpectedStaffCount",updateStrategy = FieldStrategy.IGNORED)
    private Integer expectedStaffCount;

    /**
     * 年收入
     */
    @TableField(value = "F_AnnualIncome")
    private String annualIncome;

    /**
     * 收入来源
     */
    @TableField(value = "F_IncomeSource")
    private String incomeSource;

    /**
     * 债务情况
     */
    @TableField(value = "F_DebtSituation")
    private String debtSituation;

    /**
     * 有效标识（0 有效，1 删除）
     */
    @TableField(value = "F_EnabledMark")
    private Integer enabledMark;

    /**
     * 更新门店数时间戳
     */
    @TableField(value = "F_UpdateStoreNumTimestamp")
    private long updateStoreNumTimestamp;
}
