package com.gree.mall.manager.bean.tax;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.gree.mall.manager.annotation.ZfireField;
import com.gree.mall.manager.enums.IsTaxEnum;
import com.gree.mall.manager.enums.IsTaxTypeEnum;
import com.gree.mall.manager.enums.TaxOrderTypeEnum;
import com.gree.mall.manager.enums.TaxTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@ApiModel
@Data
public class OrderTaxVO   {

    @ZfireField(hide = true)
    @TableId(value = "order_tax_id", type = IdType.ID_WORKER_STR)
    private String orderTaxId;

//    @ZfireField(hide = true)
//    @ApiModelProperty(value = "企业微信id")
//    private String companyWechatId;
//
//    @ApiModelProperty(value = "所属商户")
//    private String companyWechatName;

    @ApiModelProperty(value = "订单编号")
    private String orderId;

    @ApiModelProperty(value = "发票状态")
    private IsTaxEnum status;

    @ApiModelProperty(value = "订单类型")
    private TaxOrderTypeEnum orderType;

    @ApiModelProperty(value = "发票类型")
    private IsTaxTypeEnum taxType;

    @ZfireField(hide = true)
    @ApiModelProperty(value = "用户id")
    private String userId;

    @ApiModelProperty(value = "抬头类型")
    private TaxTypeEnum type;



    @ApiModelProperty(value = "抬头名称")
    private String name;

    @ApiModelProperty(value = "单位税号")
    private String taxNo;
    @ZfireField(hide = true)
    @ApiModelProperty(value = "公司注册地址")
    private String registerAddress;
    @ZfireField(hide = true)
    @ApiModelProperty(value = "公司注册电话")
    private String registerPhone;
    @ZfireField(hide = true)
    @ApiModelProperty(value = "开户银行")
    private String bank;
    @ZfireField(hide = true)
    @ApiModelProperty(value = "银行账号")
    private String account;
    @ZfireField(hide = true)
    @ApiModelProperty(value = "接收电话")
    private String receiverPhone;

    @ApiModelProperty(value = "收票邮箱")
    private String receiverEmail;
    @ZfireField(hide = true)
    @ApiModelProperty(value = "收票人名称")
    private String receiverName;
    @ZfireField(hide = true)
    @ApiModelProperty(value = "收票人地址")
    private String receiverAddress;

    @ApiModelProperty(value = "发票内容")
    private String content;


    @ZfireField(hide = true)
    @ApiModelProperty(value = "电子发票下载链接")
    private String taxLink;





    @ApiModelProperty(value = "创建人")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "开票金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "上传人")
    private String upName;

    @ApiModelProperty(value = "上传时间")
    private Date upTime;

    @ApiModelProperty(value = "开票时间")
    private Date taxTime;

    @ApiModelProperty(value = "发票代码")
    private String taxNumber;

    @ApiModelProperty(value = "发票号码")
    private String taxCode;

    @ApiModelProperty(value = "发票备注")
    private String remark;


}
