package com.yolo.keyboard.controller.admin.tenantbalance.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Schema(description = "管理后台 - 租户积分记录 Response VO")
@Data
public class TenantBalanceTransactionRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    private Long id;

    @Schema(description = "本次变动点数，正加负减", requiredMode = Schema.RequiredMode.REQUIRED, example = "100.00")
    private BigDecimal points;

    @Schema(description = "变动后余额快照", example = "1000.00")
    private BigDecimal balance;

    @Schema(description = "变动后冻结金额快照", example = "200.00")
    private BigDecimal frozenAmt;

    @Schema(description = "变动后可提现余额快照", example = "800.00")
    private BigDecimal withdrawableBalance;

    @Schema(description = "变动类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "RECHARGE")
    private String type;

    @Schema(description = "变动描述", example = "余额充值")
    private String description;

    @Schema(description = "订单Id/业务单号", example = "ORD123456")
    private String orderId;

    @Schema(description = "业务流水号", example = "BIZ123456")
    private String bizNo;

    @Schema(description = "操作人Id", example = "1")
    private Long operatorId;

    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "备注", example = "管理员充值")
    private String remark;

    @Schema(description = "租户Id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long tenantId;

}
