package com.community.huiju.model;

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 lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 缴费单
 * </p>
 *
 * @author weiximei
 * @since 2019-02-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tp_bill_invoice")
public class BillInvoice implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 小区id
     */
    private Integer communityId;

    /**
     * 收费项id
     */
    private Integer billId;

    /**
     * 楼栋业主资料信息id
     */
    private Integer buildingOwnerInfoId;

    /**
     * app用户id
     */
    private Integer taUserId;

    /**
     * 收费说明
     */
    private String billInvoiceExplain;

    /**
     * 收费金额
     */
    private Integer payPrice;

    /**
     * 账单流水id
     */
    private Integer billStatementId;

    /**
     * 遗弃: 缴费状态  0：未缴费  1：已线上缴费 2：已线下缴费
     *
     * 缴费状态  0：未缴费  1: 已缴费 3: 正在支付中
     *
     */
    private String billStatus;

    /**
     * 缴费人
     */
    private String payName;

    /**
     * 缴费时间
     */
    private Date payDate;

    /**
     * 创建人
     */
    private Integer createUser;

    /**
     * 创建时间
     */
    private Date createDate;

    /**
     * 更新人
     */
    private Integer updateUser;

    /**
     * 更新时间
     */
    private Date updateDate;

    /**
     * 0作废  1有效
     */
    private Integer status;

    /**
     * 微信支付的单号,唯一
     */
    private String outTradeNo;

    /**
     * 缴费方式  0：微信支付  1：线下缴费
     */
    private String payType;

    /**
     * 房间id，账单最终绑定到房间号下
     */
    private Integer roomNoId;

    /**
     * 业主姓名
     */
    @TableField(exist = false)
    private String ownerName;

    /**
     * 期
     */
    @TableField(exist = false)
    private String phase;

    /**
     * 栋
     */
    @TableField(exist = false)
    private String building;

    /**
     * 单元
     */
    @TableField(exist = false)
    private String unit;

    /**
     * 楼层
     */
    @TableField(exist = false)
    private String level;

    /**
     * 户号
     */
    @TableField(exist = false)
    private String roomNo;

    /**
     * 流水账单编号
     */
    @TableField(exist = false)
    private String billStatement;

    /**
     * 创建人姓名
     */
    @TableField(exist = false)
    private String createUserName;

    /**
     * 修改人姓名
     */
    @TableField(exist = false)
    private String updateUserName;

}
