package cn.iocoder.yudao.module.member.controller.admin.user.vo;

import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberBonusPointsDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberPointsExchangeDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 会员用户积分 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MemberPointsRespVO {

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

    @Schema(description = "会员用户ID", example = "18483")
    @ExcelProperty("会员用户ID")
    private Long memberUserId;

    @Schema(description = "会员用户名称", example = "张三")
    @ExcelProperty("会员用户名称")
    private String memberUserName;

    @Schema(description = "累计积分")
    @ExcelProperty("累计积分")
    private Integer accumulatedPoints;

    @Schema(description = "累计兑换积分")
    @ExcelProperty("累计兑换积分")
    private Integer redeemPoints;

    @Schema(description = "剩余积分")
    @ExcelProperty("剩余积分")
    private Integer remainingPoints;

    @Schema(description = "系统机构类型，1：机构 2：居家 3：旅居", example = "1")
    @ExcelProperty("系统机构类型，1：机构 2：居家 3：旅居")
    private Integer orgType;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private Date createdTime;

    @Schema(description = "创建人")
    @ExcelProperty("创建人")
    private String createdBy;

    @Schema(description = "兑换记录")
    private List<MemberPointsExchangeDO> exchangePointsRecord;

    @Schema(description = "加分记录")
    private List<MemberBonusPointsDO> bonusPointsRecord;

}