package com.zksy.property.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 租赁合同管理表
 * @TableName a_rental_contract
 */
@TableName(value ="a_rental_contract")
@Data
public class ARentalContract implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键")
    @ExcelIgnore
    private String id;

    /**
     * 租户姓名\企业名称
     */
    @ApiModelProperty(value = "租户姓名/企业名称")
    @ExcelProperty(value = "租户姓名/企业名称")
    private String tenantName;

    /**
     * 身份证号\企业代码
     */
    @ApiModelProperty(value = "身份证号/企业代码")
    @ExcelProperty(value = "身份证号/企业代码")
    private String tenantCode;

    /**
     * 合同编号
     */
    @ApiModelProperty(value = "合同编号")
    @ExcelProperty(value = "合同编号")
    private String contractNumber;

    /**
     * 合同名称
     */
    @ApiModelProperty(value = "合同名称")
    @ExcelProperty(value = "合同名称")
    private String contractName;

    /**
     * 租赁起始日期
     */
    @ApiModelProperty(value = "租赁起始日期")
    @ExcelProperty(value = "租赁起始日期")
    private LocalDate leaseStartDate;

    /**
     * 租赁结束日期
     */
    @ApiModelProperty(value = "租赁结束日期")
    @ExcelProperty(value = "租赁结束日期")
    private LocalDate leaseEndDate;

    /**
     * 月租金金额
     */
    @ApiModelProperty(value = "月租金金额")
    @ExcelProperty(value = "月租金金额")
    private BigDecimal rentAmount;

    /**
     * 支付周期
     */
    @ApiModelProperty(value = "支付周期")
    @ExcelProperty(value = "支付周期")
    private String paymentCycle;

    /**
     * 押金金额
     */
    @ApiModelProperty(value = "押金金额")
    @ExcelProperty(value = "押金金额")
    private BigDecimal depositAmount;

    /**
     * 合同状态
     */
    @ApiModelProperty(value = "合同状态")
    @ExcelProperty(value = "合同状态")
    private String contractStatus;

    /**
     * 合同创建时间
     */
    @ApiModelProperty(value = "合同创建时间")
    @ExcelIgnore
    private LocalDateTime createTime;

    /**
     * 合同最后更新时间
     */
    @ApiModelProperty(value = "合同最后更新时间")
    @ExcelIgnore
    private LocalDateTime updateTime;

    /**
     * 创建人账号
     */
    @ApiModelProperty(value = "创建人账号")
    @ExcelIgnore
    private String createBy;

    /**
     * 最后更新人账号
     */
    @ApiModelProperty(value = "最后更新人账号")
    @ExcelIgnore
    private String updateBy;

    /**
     * 合同备注
     */
    @ApiModelProperty(value = "合同备注")
    @ExcelProperty(value = "合同备注")
    private String remark;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}