package com.microservices.zone.member.domain.points;

import com.microservices.common.core.annotation.Excel;
import com.microservices.common.core.web.domain.BaseEntity;
import lombok.Data;

/**
 * 专区积分流水对象 zone_points_transaction（合并事件+流水）
 *
 * @author otto
 */
@Data
public class ZonePointsTransaction extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 流水主键
     */
    private Long id;

    /**
     * 事件ID（关联同一事件的所有操作）
     */
    @Excel(name = "事件ID")
    private String eventId;

    /**
     * 事件类型
     */
    @Excel(name = "事件类型")
    private String eventType;

    /**
     * 积分账户ID
     */
    @Excel(name = "积分账户ID")
    private Long accountId;

    /**
     * 类型：add增/reduce减/freezed冻结/unfreezed解冻
     */
    @Excel(name = "类型")
    private String transactionType;

    /**
     * 积分数量（正数）
     */
    @Excel(name = "积分数量")
    private Integer points;

    /**
     * 变动后可用积分
     */
    @Excel(name = "变动后可用积分")
    private Integer availableAfter;

    /**
     * 变动后冻结积分
     */
    @Excel(name = "变动后冻结积分")
    private Integer frozenAfter;

    /**
     * 操作人ID
     */
    @Excel(name = "操作人ID")
    private Long operatorId;

    /**
     * 变动原因
     */
    @Excel(name = "变动原因")
    private String reason;

    /**
     * 回复内容
     */
    @Excel(name = "回复内容")
    private String replyContent;

    /**
     * 来源ID
     */
    @Excel(name = "来源ID")
    private Long sourceId;

    /**
     * 来源数据
     */
    @Excel(name = "来源数据")
    private String sourceData;

    /**
     * 主题
     */
    @Excel(name = "主题")
    private String subject;

    /**
     * 主题描述
     */
    @Excel(name = "主题描述")
    private String subjectDesc;
}