package com.red.circle.other.domain.redpacket;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 房间红包领域对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RoomRedPacket {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 红包ID（UUID）
     */
    private String packetId;

    /**
     * 房间ID
     */
    private Long roomId;

    /**
     * 发起人ID
     */
    private Long userId;

    /**
     * 红包类型：1-固定金额 2-拼手气
     */
    private Integer packetType;

    /**
     * 来源类型：1-用户红包 2-平台红包
     */
    private Integer sourceType;

    /**
     * 总金额（分）
     */
    private Long totalAmount;

    /**
     * 红包总个数
     */
    private Integer totalCount;

    /**
     * 剩余金额（分）
     */
    private Long remainAmount;

    /**
     * 剩余个数
     */
    private Integer remainCount;

    /**
     * 过期分钟数：1/3/5
     */
    private Integer expireMinutes;

    /**
     * 过期时间
     */
    private LocalDateTime expireTime;

    /**
     * 状态：1-进行中 2-已抢完 3-已过期
     */
    private Integer status;

    /**
     * 退款状态：0-未退 1-已退 2-无需退款
     */
    private Integer refundStatus;

    /**
     * 是否触发全服推送：0-否 1-是
     */
    private Integer isBroadcast;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
}
