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

import com.baomidou.mybatisplus.annotation.TableName;
import com.jeesharp.framework.mybatis.core.dataobject.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;

/**
 * 会员每日签到记录实体，映射表 {@code app_member_sign_in_record}，用于幂等与连续天数统计。
 *
 * @author jeesharp
 * @since 2026-05-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("app_member_sign_in_record")
@Schema(description = "会员签到记录")
public class MemberSignInRecord extends BaseEntity<MemberSignInRecord> {

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

    @Schema(description = "签到自然日")
    private LocalDate signDate;

    @Schema(description = "截至本次签到连续天数")
    private Integer continuousDays;

    @Schema(description = "基础积分")
    private Integer basePoints;

    @Schema(description = "连续签到额外积分")
    private Integer bonusPoints;

    @Schema(description = "本次发放积分合计")
    private Integer totalPoints;
}
