package cn.iocoder.yudao.module.system.dal.dataobject.biz;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseNoDeleteDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

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

/**
 * 长者消费券 DO
 */
@TableName("elderly_consumer_vouchers")
@KeySequence("elderly_consumer_vouchers_seq")
@Data
@ToString
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ElderlyConsumerVouchersDO extends BaseNoDeleteDO {

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

    /**
     * 长者id
     */
    private Long elderId;

    /**
     * 账单id
     */
    private Long orderId;

    /**
     * 长者姓名（联表字段）
     */
    @TableField(exist = false)
    private String elderName;

    /**
     * 身份证号（联表字段）
     */
    @TableField(exist = false)
    private String idCard;

    /**
     * 床位号（联表字段）
     */
    @TableField(exist = false)
    private String bedName;

    /**
     * 账单归属月
     */
    private String billingMonth;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 使用状态,0:未抵扣 1:已抵扣,即是否生成账单
     */
    private Integer status;

    /**
     * 返还状态，即账单是否已经缴费
     */
    private Integer returnStatus;

    /**
     * 缴费单号
     */
    private String orderNumber;

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