package cn.iocoder.yudao.module.system.controller.admin.tenantpoints.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 租户积分记录分页 Request VO")
@Data
public class TenantPointsPageReqVO extends PageParam {

    @Schema(description = "本次变动点数，正加负减")
    private Integer points;

    @Schema(description = "变动后余额快照（冗余）")
    private Integer balance;

    @Schema(description = "变动类型，如 RECHARGE, CONSUME, TRANSFER_OUT, TRANSFER_IN", example = "1")
    private String type;

    @Schema(description = "变动描述", example = "随便")
    private String description;

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

    @Schema(description = "业务流水号（转账、订单等唯一标识）")
    private String bizNo;

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

    @Schema(description = "目标租户 Id（转账使用）", example = "18731")
    private Long targetTenantId;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createdAt;

    @Schema(description = "备注")
    private String remark;

}