package com.zsElectric.boot.business.model.entity;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.Version;
import com.zsElectric.boot.common.base.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import com.baomidou.mybatisplus.annotation.TableName;

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

/**
 * 用户支付订单信息实体对象
 *
 * @author zsElectric
 * @since 2025-12-16 16:25
 */
@Getter
@Setter
@TableName("c_user_order_info")
public class UserOrderInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 微信openId
     */
    private String openid;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 订单金额
     */
    private BigDecimal orderMoney;
    /**
     * 支付金额
     */
    private BigDecimal payMoney;
    /**
     * 订单剩余金额
     */
    private BigDecimal lastMoney;
    /**
     * 支付时间
     */
    private LocalDateTime payTime;
    /**
     * 支付档ID
     */
    private Long levelId;
    /**
     * 第三方支付单号
     */
    private String outTradeNo;
    /**
     * 订单状态 1 待支付  2 已支付 3 已取消 4 已退款
     */
    private Integer orderStatus;
    /**
     * 订单类型 1 微信 2 第三方
     */
    private Integer orderType;
    /**
     * 微信支付流水号
     */
    private String transactionId;
    /**
     * 退款金额
     */
    private BigDecimal refundMoney;
    /**
     * 退款时间
     */
    private LocalDateTime refundTime;
    /**
     * 备注
     */
    private String remark;
    /**
     * 乐观锁
     */
    @Version
    private Integer version;
    /**
     * 逻辑删除（0-未删除 1-已删除）
     */
    @TableLogic
    private Integer isDeleted;
}
