package cn.iocoder.yudao.module.member.dal.dataobject.billing;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 开票记录 DO
 *
 * @author 管理员
 */
@TableName("t_billing")
@KeySequence("t_billing_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class BillingDO extends BaseDO {

    /**
     * 发票编号
     */
    @TableId(type = IdType.INPUT)
    private String id;
    /**
     * 用户名称
     */
    private String userName;
    /**
     * 用户手机号
     */
    private String userPhone;
    /**
     * 申请开票时间
     */
    private LocalDateTime requestBillingTime;
    /**
     * 发票金额
     */
    private BigDecimal billingMoney;
    /**
     * 开票人，谁要开票
     */
    private Long userId;
    /**
     * 开票主体.(发票抬头)
     */
    private Long invoiceId;
    /**
     * 0开票中,1开票完成,2开票回拒
     */
    private Integer status;
    /**
     * 同意人。谁通过的
     */
    private Long systemId;
    /**
     * 0食堂发票,1超市发票,2太空舱发票
     */
    private Integer billingType;
    /**
     * 拒绝理由
     */
    private String refuseDetails;
    /**
     * 备注
     */
    private String remark;
    /**
     * 拒绝时间
     */
    private LocalDateTime refuseTime;
    /**
     * pdf地址
     */
    private String pdfUrl;
    /**
     * 发票商品名称
     */
    private String billingName;
    /**
     * 门店id
     */
    private Long carteenId;
    /**
     * userid 用json
     */
    private String orderId;
}