package com.mall.member.domain.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Schema(name = "MemberStatisticsInfoDTO对象", title = "会员统计信息", description = "会员统计信息的DTO对象")
public class MemberStatisticsInfoDto {

    @Schema(name = "id", title = "id")
    private Long id;

    @Schema(name = "memberId", title = "会员id")
    private Long memberId;

    @Schema(name = "consumeAmount", title = "累计消费金额")
    private BigDecimal consumeAmount;

    @Schema(name = "couponAmount", title = "累计优惠金额")
    private BigDecimal couponAmount;

    @Schema(name = "orderCount", title = "订单数量")
    private Integer orderCount;

    @Schema(name = "couponCount", title = "优惠券数量")
    private Integer couponCount;

    @Schema(name = "commentCount", title = "评价数")
    private Integer commentCount;

    @Schema(name = "returnOrderCount", title = "退货数量")
    private Integer returnOrderCount;

    @Schema(name = "loginCount", title = "登录次数")
    private Integer loginCount;

    @Schema(name = "attendCount", title = "关注数量")
    private Integer attendCount;

    @Schema(name = "fansCount", title = "粉丝数量")
    private Integer fansCount;

    @Schema(name = "collectProductCount", title = "收藏的商品数量")
    private Integer collectProductCount;

    @Schema(name = "collectSubjectCount", title = "收藏的专题活动数量")
    private Integer collectSubjectCount;

    @Schema(name = "collectCommentCount", title = "收藏的评论数量")
    private Integer collectCommentCount;

    @Schema(name = "inviteFriendCount", title = "邀请的朋友数量")
    private Integer inviteFriendCount;

}