package com.bohuikeji.delivery.backstage.entity;

import com.bohuikeji.frame.module.admin.annotation.TableKeyField;
import com.bohuikeji.frame.module.admin.annotation.TableQueryField;
import com.bohuikeji.frame.module.admin.base.EntityBase;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import com.bohuikeji.frame.module.admin.annotation.TableShowField;
import com.bohuikeji.frame.module.admin.annotation.TableNewField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 支付订单记录表
 * </p>
 *
 * @author 10552
 * @since 2019-08-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="TOrderPayment对象", description="支付订单记录表")
public class TOrderPayment extends EntityBase<TOrderPayment> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value="支付记录表id(新增时请留空或null)")
    @TableId(value = "order_pay_id", type = IdType.AUTO)
    @TableShowField(value = "ID",id = true)
    @TableNewField(show = false)
    private Integer orderPayId;

    @ApiModelProperty(value = "支付单号")
    @TableField("payment_num")
    @TableShowField("支付单号")
    @TableNewField
    @TableQueryField
    private String paymentNum;

    @ApiModelProperty(value = "第三方流水单号")
    @TableField("flow_num")
    @TableShowField("第三方流水单号")
    @TableNewField
    @TableQueryField
    private String flowNum;

    @ApiModelProperty(value = "支付总金额")
    @TableField("payment_amount")
    @TableShowField("支付总金额")
    @TableNewField
    private String paymentAmount;

    @ApiModelProperty(value = "下单时间")
    @TableField("order_time")
    @TableShowField("下单时间")
    @TableNewField
    private LocalDateTime orderTime;

    @ApiModelProperty(value = "支付时间")
    @TableField("payment_time")
    @TableShowField("支付时间")
    @TableNewField
    private LocalDateTime paymentTime;

    @ApiModelProperty(value = "收款人id")
    @TableField("payee_id")
    @TableShowField("收款人id")
    @TableNewField
    @TableQueryField
    @TableKeyField(key = TCustomer.class, keyShowFields = "customerName",keyLikeFields = "customerName")
    private Integer payeeId;

    @ApiModelProperty(value = "支付状态")
    @TableField("payment_status")
    @TableShowField("支付状态")
    @TableNewField
    private String paymentStatus;


}
