package com.jeesharp.business.modules.marketing.couponVerifyLog.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.LocalDateTime;

/**
 * 会员券线下核销流水，映射表 {@code app_member_coupon_verify_log}。
 *
 * @author jeesharp
 * @since 2026-06-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("app_member_coupon_verify_log")
@Schema(description = "会员券核销流水")
public class MemberCouponVerifyLog extends BaseEntity<MemberCouponVerifyLog> {

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

    @Schema(description = "券模板ID")
    private String couponTemplateId;

    @Schema(description = "优惠券名称（冗余）")
    private String couponName;

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

    /**
     * @see com.jeesharp.business.modules.marketing.couponVerifyLog.enums.CouponVerifyTypeEnum
     */
    @Schema(description = "核销类型：OFFLINE_SCAN-线下扫码")
    private String verifyType;

    @Schema(description = "核销时间")
    private LocalDateTime verifyTime;

    @Schema(description = "操作人ID")
    private String operatorId;

    @Schema(description = "操作人姓名")
    private String operatorName;

    @Schema(description = "核销令牌")
    private String verifyToken;

    @Schema(description = "实际核销租户ID")
    private String verifyTenantId;

    @Schema(description = "实际核销租户编码")
    private String verifyTenantCode;
}
