package com.zioinfo.mall.member;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 관리자 회원 목록 요약 — PII 비노출용 뷰.
 *
 * <p>보안 불변: 이메일·전화번호는 매퍼에서 마스킹된 값(예: ja***@example.com, 201-***-1234)만
 * 담으며, 상세 주소(default_address)는 아예 포함하지 않는다. 관리자 목록/검색 용도로만 사용한다.
 */
@Data
public class MallMemberSummary {
    private Long id;
    private String username;
    private String displayName;
    private String emailMasked;   // 마스킹된 이메일
    private String phoneMasked;   // 마스킹된 전화번호
    private String defaultZip;    // 배송권역 분석용(우편번호만)
    private String tier;
    private Integer orderCount;   // 누적 주문수
    private BigDecimal totalSpent; // 누적 결제액
    private LocalDateTime createdAt;
}
