package com.ruoyi.common.core.domain.entity;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 order_info
 * 
 * @author ruoyi
 * @date 2025-08-03
 */
public class OrderInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private String id;

    /** 订单号 */
    @Excel(name = "订单号")
    private Long orderId;

    /** 订单名称 */
    @Excel(name = "订单名称")
    private String orderName;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 金额 分 */
    @Excel(name = "金额 分")
    private Long amount;

    /** 支付方式 aliPay / wechatPay / applePay  */
    @Excel(name = "支付方式 aliPay / wechatPay / applePay ")
    private String payType;

    /** 交易时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 支付状态 1 创建订单 2 待出货 3 已完成 */
    @Excel(name = "支付状态 1 创建订单 2 待出货 3 已完成")
    private Long payStatus;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 1删除 */
    @Excel(name = "1删除")
    private Long idDel;

    /** 回调时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "回调时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date callTime;

    /** 套餐类型 1 包月 3 包季度  6 半年 12 一年 */
    @Excel(name = "套餐类型 1 包月 3 包季度  6 半年 12 一年")
    private String packageType;

    /** 回调内容 */
    @Excel(name = "回调内容")
    private String callbackContent;

    /** 第三方支付交易号 */
    @Excel(name = "第三方支付交易号")
    private String tradeNo;

    /** 已退款金额(单位:分) */
    @Excel(name = "已退款金额(单位:分)")
    private Long refundAmount;

    /** 退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date refundTime;

    /** 下单用户ip */
    @Excel(name = "下单用户ip")
    private String clientIp;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private String deviceType;

    /** 乐观锁版本号 */
    @Excel(name = "乐观锁版本号")
    private Long version;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setOrderName(String orderName) 
    {
        this.orderName = orderName;
    }

    public String getOrderName() 
    {
        return orderName;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setAmount(Long amount) 
    {
        this.amount = amount;
    }

    public Long getAmount() 
    {
        return amount;
    }

    public void setPayType(String payType) 
    {
        this.payType = payType;
    }

    public String getPayType() 
    {
        return payType;
    }

    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }

    public void setPayStatus(Long payStatus) 
    {
        this.payStatus = payStatus;
    }

    public Long getPayStatus() 
    {
        return payStatus;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setIdDel(Long idDel) 
    {
        this.idDel = idDel;
    }

    public Long getIdDel() 
    {
        return idDel;
    }

    public void setCallTime(Date callTime) 
    {
        this.callTime = callTime;
    }

    public Date getCallTime() 
    {
        return callTime;
    }

    public void setPackageType(String packageType) 
    {
        this.packageType = packageType;
    }

    public String getPackageType() 
    {
        return packageType;
    }

    public void setCallbackContent(String callbackContent) 
    {
        this.callbackContent = callbackContent;
    }

    public String getCallbackContent() 
    {
        return callbackContent;
    }

    public void setTradeNo(String tradeNo) 
    {
        this.tradeNo = tradeNo;
    }

    public String getTradeNo() 
    {
        return tradeNo;
    }

    public void setRefundAmount(Long refundAmount) 
    {
        this.refundAmount = refundAmount;
    }

    public Long getRefundAmount() 
    {
        return refundAmount;
    }

    public void setRefundTime(Date refundTime) 
    {
        this.refundTime = refundTime;
    }

    public Date getRefundTime() 
    {
        return refundTime;
    }

    public void setClientIp(String clientIp) 
    {
        this.clientIp = clientIp;
    }

    public String getClientIp() 
    {
        return clientIp;
    }

    public void setDeviceType(String deviceType) 
    {
        this.deviceType = deviceType;
    }

    public String getDeviceType() 
    {
        return deviceType;
    }

    public void setVersion(Long version) 
    {
        this.version = version;
    }

    public Long getVersion() 
    {
        return version;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("orderName", getOrderName())
            .append("userId", getUserId())
            .append("amount", getAmount())
            .append("payType", getPayType())
            .append("payTime", getPayTime())
            .append("payStatus", getPayStatus())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("createTime", getCreateTime())
            .append("idDel", getIdDel())
            .append("updateTime", getUpdateTime())
            .append("callTime", getCallTime())
            .append("packageType", getPackageType())
            .append("callbackContent", getCallbackContent())
            .append("tradeNo", getTradeNo())
            .append("refundAmount", getRefundAmount())
            .append("refundTime", getRefundTime())
            .append("clientIp", getClientIp())
            .append("deviceType", getDeviceType())
            .append("version", getVersion())
            .toString();
    }
}
