package com.vetti.hotake.domain;

import com.vetti.common.annotation.Excel;
import com.vetti.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 用户通知偏好设置对象 hotake_notification_preferences
 *
 * @author vetti
 * @date 2026-02-01
 */
@Data
@Accessors(chain = true)
public class HotakeNotificationPreferences extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 职位提醒：新职位机会通知 (0-关闭, 1-开启) */
    @ApiModelProperty("职位提醒：新职位机会通知 (0-关闭, 1-开启)")
    @Excel(name = "职位提醒")
    private Integer emailJobAlerts;

    /** 申请更新：职位申请状态更新 (0-关闭, 1-开启) */
    @ApiModelProperty("申请更新：职位申请状态更新 (0-关闭, 1-开启)")
    @Excel(name = "申请更新")
    private Integer emailApplicationUpdates;

    /** AI匹配建议：基于个人资料的强匹配职位推荐 (0-关闭, 1-开启) */
    @ApiModelProperty("AI匹配建议：基于个人资料的强匹配职位推荐 (0-关闭, 1-开启)")
    @Excel(name = "AI匹配建议")
    private Integer emailAiMatchSuggestions;

    /** 新闻简报：每周职业技巧和行业新闻 (0-关闭, 1-开启) */
    @ApiModelProperty("新闻简报：每周职业技巧和行业新闻 (0-关闭, 1-开启)")
    @Excel(name = "新闻简报")
    private Integer emailNewsletter;

    /** 新消息：收到新消息时通知 (0-关闭, 1-开启) */
    @ApiModelProperty("新消息：收到新消息时通知 (0-关闭, 1-开启)")
    @Excel(name = "新消息")
    private Integer pushNewMessages;

    /** 面试提醒：即将到来的面试提醒 (0-关闭, 1-开启) */
    @ApiModelProperty("面试提醒：即将到来的面试提醒 (0-关闭, 1-开启)")
    @Excel(name = "面试提醒")
    private Integer pushInterviewReminders;

    /** 营销邮件：促销内容和特别优惠 (0-关闭, 1-开启) */
    @ApiModelProperty("营销邮件：促销内容和特别优惠 (0-关闭, 1-开启)")
    @Excel(name = "营销邮件")
    private Integer mailMarketingEmails;

    /** 合作伙伴优惠：来自可信合作伙伴的机会 (0-关闭, 1-开启) */
    @ApiModelProperty("合作伙伴优惠：来自可信合作伙伴的机会 (0-关闭, 1-开启)")
    @Excel(name = "合作伙伴优惠")
    private Integer mailPartnerOffers;

}
