package com.trade.service.enterprise.companyrelated.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.trade.common.core.domain.BizBaseEntity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * <p>
 * 进口商企业信息
 * </p>
 *
 * @author zhangchenm
 * @since 2024-09-03
 */
@Getter
@Setter
@TableName("importer_entity")
public class ImporterEntity extends BizBaseEntity {

    private static final long serialVersionUID = 1L;
    /**
     * 用户id
     */
    private Long customerUserId;
    /**
     * 企业编号
     */
    private String entityNo;
    /**
     * 地区 1中国香港 2中国澳门 3中国台湾 4中国境外
     */
    @NotBlank(message = "地区不能为空")
    private String region;
    /**
     * 国家
     */
    private String country;
    /**
     * 状态 0待生效/1生效
     */
    private Integer status;
    /**
     * 企业名称
     */
    @NotBlank(message = "企业名称不能为空")
    private String entityName;
    /**
     * 企业证件类型
     */
    private String certType = "register_no";
    /**
     * 企业证件号
     */
    @NotBlank(message = "企业证件号不能为空")
    private String certNo;
    /**
     * 经营地址（省 / 州 / 区）
     */
    @NotBlank(message = "经营地址（省 / 州 / 区）不能为空")
    private String businessProvince;
    /**
     * 经营地址（市 / 区）
     */
    @NotBlank(message = "经营地址（市 / 区）不能为空")
    private String businessCity;
    /**
     * 经营地址
     */
    @NotBlank(message = "经营地址不能为空")
    private String businessAddress;
    /**
     * 经营地址邮政编码
     */
    @NotBlank(message = "经营地址邮政编码不能为空")
    private String businessPostCode;
    /**
     * 是否允许直接联系
     */
    @NotBlank(message = "是否允许直接联系不能为空")
    private String contactDirectInd;
    /**
     * 企业联系人姓名
     */
    private String contactName;
    /**
     * 企业联系人手机号
     */
    private String contactMobile;
    /**
     * 企业联系人邮箱
     */
    private String contactEmail;
    /**
     * 税号
     */
    private String vatNo;
    /**
     * 经营品类
     */
    @NotBlank(message = "经营品类不能为空")
    private String businessCategory;
    /**
     * 交易年限
     */
    @NotBlank(message = "交易年限不能为空")
    private String tradingLife;
    /**
     * 结算周期(天)
     */
    @NotNull(message = "结算周期(天)不能为空")
    private Integer settlementPeriod;
    /**
     * 过去一年双方交易额
     */
    @NotNull(message = "过去一年双方交易额不能为空")
    private BigDecimal tradingAmountPastYear;
    /**
     * 过去一年双方交易额货币
     */
    @NotBlank(message = "过去一年双方交易额货币不能为空")
    private String tradingAmountPastYearCurrency;
    /**
     * 拟申请额度金额
     */
    @NotNull(message = "拟申请额度金额不能为空")
    private BigDecimal amountToBeApplied;
    /**
     * 拟申请额度金额币种
     */
    @NotBlank(message = "拟申请额度金额币种不能为空")
    private String amountToBeAppliedCurrency;
    /**
     * 拟申请额度期限(M/Y)
     */
    @NotBlank(message = "拟申请额度期限不能为空")
    private String periodToBeApplied;
}
