package com.bs.df.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bs.common.annotation.Excel;
import com.bs.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
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 io.swagger.annotations.ApiModelProperty;

/**
 * 客户订单对象 df_order
 *
 * @author bs
 * @date 2024-04-06
 */
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("df_order")
@Data
public class DfOrder extends BaseEntity{
    private static final long serialVersionUID = 1L;

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

    /** 订单号 */

    @Excel(name = "订单号")
    @ApiModelProperty(value = "订单号")
    private String orderNo;

    /** 客户id */

    //@Excel(name = "客户id")
    @ApiModelProperty(value = "客户id")
    private Long userId;

//    @ApiModelProperty(value = "访客id")
//    private Long openId;

    /** 客户id */

    @Excel(name = "客户")
    private String userName;


    /** 经纪id */

    //@Excel(name = "经纪id")
    @ApiModelProperty(value = "经纪id")
    private Long brokerId;

    @Excel(name = "经纪人")
    @TableField(exist = false)
    private String brokerName;

    @Excel(name = "经纪人电话")
    @TableField(exist = false)
    private String brokerPhone;

    /** 产品id */

    //@Excel(name = "产品id")
    @ApiModelProperty(value = "产品id")
    private Long productId;

    /** 产品名称 */

    @Excel(name = "产品名称")
    @ApiModelProperty(value = "产品名称")
    private String productName;

    /** 提交时间 */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "提交时间")
    private Date submitTime;

    /** 申请额(万元) */

    @Excel(name = "申请额")
    @ApiModelProperty(value = "申请额(万元)")
    private BigDecimal applyAmount;

    /** 授信额(万元) */

    @Excel(name = "授信额")
    @ApiModelProperty(value = "授信额(万元)")
    private BigDecimal limitAmount;

    /** 放款额(万元) */

    @Excel(name = "放款额")
    @ApiModelProperty(value = "放款额(万元)")
    private BigDecimal loanAmount;

    /** 放款利率 */

    @Excel(name = "放款利率")
    @ApiModelProperty(value = "放款利率")
    private BigDecimal loanRate;

    /** 贷款期限(月) */

    @Excel(name = "贷款期限")
    @ApiModelProperty(value = "贷款期限(月)")
    private Long loadMonth;

    /** 是否首贷 */

    @Excel(name = "是否首贷")
    @ApiModelProperty(value = "是否首贷")
    private String isFirst;

    /** 可结算金额(万元) */

    @Excel(name = "可结算金额")
    @ApiModelProperty(value = "可结算金额(万元)")
    private Long settleAmount;

    /** 状态 */

    @Excel(name = "状态")
    @ApiModelProperty(value = "状态")
    private String staus;

    /** 联系方式 */

    @Excel(name = "联系方式")
    @ApiModelProperty(value = "联系方式")
    private String phone;

    /** 备注 */

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "分享用户")
    private String shareUser;

    /** 用户的唯一标识 */

    @ApiModelProperty(value = "用户的唯一标识")
    private String openId;

    /** 公众号绑定id */

    @ApiModelProperty(value = "公众号绑定id")
    private String unionId;

    @ApiModelProperty(value = "平台来源")
    private String fromType;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
    private Date createTimeVo;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date submitTimeBegin;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date submitTimeEnd;

    @TableField(exist = false)
    private String orderByColumn;

    @TableField(exist = false)
    private String isAsc;

    @TableField(exist = false)
    private String userOrProduct;

}