package cn.newfeifan.mall.module.distri.controller.admin.consumptiontransferlog.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 消费分转让记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ConsumptionTransferLogRespVO {

    @Schema(description = "日志编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "5320")
    @ExcelProperty("日志编号")
    private Long id;

    @Schema(description = "转让用户ID", example = "7655")
    @ExcelProperty("转让用户ID")
    private Long transferUserId;

    @Schema(description = "转让人用户名", example = "王五")
    @ExcelProperty("转让人用户名")
    private String transferUserName;

    @Schema(description = "接收用户ID", example = "26720")
    @ExcelProperty("接收用户ID")
    private Long recipientUserId;

    @Schema(description = "接收人用户名", example = "张三")
    @ExcelProperty("接收人用户名")
    private String recipientUserName;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "转让的消费分", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("转让的消费分")
    private Long consumptionPoints;

    @Schema(description = "变动后消费分（余额）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("变动后消费分（余额）")
    private Long afterTransferConsumptionPoints;

    @Schema(description = "接收的消费分", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("接收的消费分")
    private Long recipientPoints;

    @Schema(description = "变动后消费分（余额）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("变动后消费分（余额）")
    private Long afterRecipientConsumptionPoints;

}