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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 会员付费开通记录信息VO
 *
 * @author jeesharp
 * @version 2026-03-19
 */
@Data
@Schema(description = "会员付费开通记录信息VO")
public class MemberVipInfoVO {

    @Schema(description = "主键ID")
    private String id;

    @Schema(description = "会员ID")
    private String memberId;

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

    @Schema(description = "会员昵称")
    private String memberNickname;

    @Schema(description = "付费等级编码")
    private String levelCode;

    @Schema(description = "付费等级名称")
    private String levelName;

    @Schema(description = "商品/套餐ID")
    private String productId;

    @Schema(description = "套餐名称")
    private String productName;

    @Schema(description = "关联订单号")
    private String orderNo;

    @Schema(description = "生效开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private LocalDateTime startDate;

    @Schema(description = "到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private LocalDateTime expireDate;

    @Schema(description = "状态：0-已过期 1-有效 2-已取消")
    private Integer status;

    @Schema(description = "状态名称")
    private String statusName;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private LocalDateTime createDate;
}
