package com.dora.entity;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单实体类
 */
@Data
public class Order {
    /**
     * 主键
     */
    private Long id;
    
    /**
     * 系统生成的唯一订单号
     */
    private String orderNo;
    
    /**
     * 订单类型（1-会员订单/2-积分订单）
     */
    private Integer orderType;
    
    /**
     * 购买用户ID
     */
    private Long userId;
    
    /**
     * 购买的套餐ID（会员订单）
     */
    private Long planId;
    
    /**
     * 积分套餐ID（积分订单）
     */
    private Long pointsPackageId;
    
    /**
     * 积分数量（积分订单）
     */
    private Integer pointsAmount;
    
    /**
     * 套餐原价
     */
    private BigDecimal originalPrice;
    
    /**
     * 订单最终金额（实际支付金额）
     */
    private BigDecimal amount;
    
    /**
     * 实际获得的会员天数
     */
    private Integer actualDurationDays;
    
    /**
     * 优惠类型 (NONE/CONTINUOUS_MONTHLY/CONTINUOUS_YEARLY/FIRST_PURCHASE/SPECIAL_OFFER)
     */
    private String discountType;
    
    /**
     * 优惠金额
     */
    private BigDecimal discountAmount;
    
    /**
     * 优惠描述
     */
    private String discountDescription;
    
    /**
     * 订单状态 (0待支付/1已完成/2已取消/3支付失败)
     */
    private Integer status;
    
    /**
     * 支付方式 (1支付宝/2微信支付)
     */
    private Integer paymentMethod;
    
    /**
     * 支付成功时间
     */
    private LocalDateTime paidAt;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
    
    /**
     * 逻辑删除标识
     */
    private Integer isDeleted;
} 