package com.gameplatform.server.model.entity.agent;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;

@TableName("agent_points_tx")
public class AgentPointsTx {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    
    @TableField("account_id")
    private Long accountId;
    
    private String type; // ADD | DEDUCT
    
    @TableField("before_points")
    private Long beforePoints;
    
    @TableField("delta_points")
    private Long deltaPoints;
    
    @TableField("after_points")
    private Long afterPoints;
    
    private String reason; // create_links | manual | refund_no_rollback | other
    
    @TableField("ref_id")
    private Long refId;
    
    @TableField("operator_id")
    private Long operatorId;
    
    @TableField("created_at")
    private LocalDateTime createdAt;

    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public Long getAccountId() { return accountId; }
    public void setAccountId(Long accountId) { this.accountId = accountId; }

    public String getType() { return type; }
    public void setType(String type) { this.type = type; }

    public Long getBeforePoints() { return beforePoints; }
    public void setBeforePoints(Long beforePoints) { this.beforePoints = beforePoints; }

    public Long getDeltaPoints() { return deltaPoints; }
    public void setDeltaPoints(Long deltaPoints) { this.deltaPoints = deltaPoints; }

    public Long getAfterPoints() { return afterPoints; }
    public void setAfterPoints(Long afterPoints) { this.afterPoints = afterPoints; }

    public String getReason() { return reason; }
    public void setReason(String reason) { this.reason = reason; }

    public Long getRefId() { return refId; }
    public void setRefId(Long refId) { this.refId = refId; }

    public Long getOperatorId() { return operatorId; }
    public void setOperatorId(Long operatorId) { this.operatorId = operatorId; }

    public LocalDateTime getCreatedAt() { return createdAt; }
    public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; }
}
