package com.njcn.msgpush.module.push.dal.dataobject.blacklist;

import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.msgpush.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author caozehui
 * @data 2026-03-12
 */
@Data
@TableName("push_message_blacklist")
public class BlacklistDO extends BaseDO {
    /**
     * 主键 ID
     */
    private Long id;

    /**
     * 渠道类型：sms/email/app
     */
    private String channel;

    /**
     * 黑名单目标：手机号/邮箱/设备 Token
     */
    private String target;

    /**
     * 加入原因：用户投诉/无效号码/频繁退订等
     */
    private String reason;

    /**
     * 操作来源：manual/auto/import
     */
    private String source;

    /**
     * 过期时间：-1=永久，时间戳=到期时间
     */
    private Long expireTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 命中次数
     */
    private Integer hitCount;

    /**
     * 最近命中时间
     */
    private LocalDateTime lastHitTime;
}
