package com.jeesharp.business.modules.marketing.memberTenant.vo;

import com.jeesharp.business.modules.member.vo.MemberOrderDisplay;
import com.jeesharp.framework.pojo.vo.BaseInfoVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 店铺会员详情 VO。
 *
 * @author jeesharp
 * @since 2026-06-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "店铺会员详情VO")
public class MemberTenantInfoVO extends BaseInfoVO implements MemberOrderDisplay {

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

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

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

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

    @Schema(description = "店铺租户ID")
    private String tenantId;

    @Schema(description = "店铺租户编码")
    private String tenantCode;

    @Schema(description = "店铺名称")
    private String tenantName;

    @Schema(description = "绑定状态")
    private Integer bindStatus;

    @Schema(description = "绑定状态名称")
    private String bindStatusName;

    @Schema(description = "入会来源")
    private String joinSource;

    @Schema(description = "入会来源名称")
    private String joinSourceName;

    @Schema(description = "推广渠道")
    private String channelCode;

    @Schema(description = "店铺内角色")
    private String memberRole;

    @Schema(description = "店铺内角色名称")
    private String memberRoleName;

    @Schema(description = "入会时间")
    private LocalDateTime joinDate;

    @Schema(description = "解绑时间")
    private LocalDateTime unbindDate;
}
