package com.jeesharp.business.modules.member.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 会员积分流水 Excel 导出行结构。
 *
 * @author jeesharp
 * @since 2026-06-24
 */
@Data
@Schema(description = "会员积分流水导出VO")
public class MemberPointsLogExportVO {

    @ExcelProperty("会员编号")
    @Schema(description = "会员编号")
    private String memberNo;

    @ExcelProperty("会员姓名")
    @Schema(description = "会员姓名/昵称")
    private String memberNickname;

    @ExcelProperty("会员手机")
    @Schema(description = "会员手机")
    private String memberMobile;

    @ExcelProperty("流水类型")
    @Schema(description = "流水类型名称")
    private String pointsTypeName;

    @ExcelProperty("变动积分")
    @Schema(description = "变动积分")
    private Integer points;

    @ExcelProperty("变动前积分")
    @Schema(description = "变动前可用积分")
    private Integer beforePoints;

    @ExcelProperty("变动后积分")
    @Schema(description = "变动后可用积分")
    private Integer afterPoints;

    @ExcelProperty("业务类型")
    @Schema(description = "业务类型名称")
    private String bizTypeName;

    @ExcelProperty("业务ID")
    @Schema(description = "业务ID")
    private String bizId;

    @ExcelProperty("业务描述")
    @Schema(description = "业务描述")
    private String bizDesc;

    @ExcelProperty("积分规则")
    @Schema(description = "积分规则名称")
    private String ruleName;

    @ExcelProperty("操作来源")
    @Schema(description = "操作来源")
    private String operateSource;

    @ExcelProperty(value = "创建时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建时间")
    private LocalDateTime createDate;
}
