package cn.newfeifan.mall.module.distri.controller.admin.socialstatuschangelog.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 SocialStatusChangeLogRespVO {

    @Schema(description = "会员身价变化日志id", requiredMode = Schema.RequiredMode.REQUIRED, example = "27452")
    @ExcelProperty("会员身价变化日志id")
    private Long id;

    @Schema(description = "会员资产变化类别id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8042")
    @ExcelProperty("会员资产变化类别id")
    private Long socialStatusChangeCategoryId;

    @Schema(description = "身价点数在本类别操作的变化值", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("身价点数在本类别操作的变化值")
    private Long variationValue;

    @Schema(description = "操作对应业务对象id，例如订单id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24060")
    @ExcelProperty("操作对应业务对象id，例如订单id")
    private Long objectId;

    @Schema(description = "是否已生效", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否已生效")
    private Boolean effective;

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

    @Schema(description = "计划生效时间")
    @ExcelProperty("计划生效时间")
    private LocalDateTime planEffectiveTime;

    @Schema(description = "实际生效时间")
    @ExcelProperty("实际生效时间")
    private LocalDateTime actualEffectiveTime;

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

    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4593")
    @ExcelProperty("用户ID")
    private Long userId;

}