package com.erp.purchase.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.erp.purchase.enums.SupplierStatus;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 供应商实体
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("supplier")
public class Supplier {

    @TableId(type = IdType.AUTO)
    private Long id;

    /** 供应商编码 */
    private String supplierCode;

    /** 供应商名称 */
    private String name;

    /** 联系人 */
    private String contact;

    /** 联系电话 */
    private String phone;

    /** 电子邮箱 */
    private String email;

    /** 地址 */
    private String address;

    /** 状态 */
    private String status;

    /** 税率（默认13%） */
    private BigDecimal taxRate;

    /** 付款方式 */
    private String paymentMethod;

    /** 付款周期（天数） */
    private Integer paymentPeriod;

    /** 银行名称 */
    private String bankName;

    /** 银行账号 */
    private String bankAccount;

    /** 开户行 */
    private String bankBranch;

    /** 统一社会信用代码 */
    private String creditCode;

    /** 备注 */
    private String remark;

    /** 租户ID */
    private Long tenantId;

    /** 创建人 */
    private Long createBy;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /** 更新人 */
    private Long updateBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /** 逻辑删除 */
    @TableLogic
    private Integer deleted;
}
