<?php

/**
 * 文件功能：婚姻亲密度来源枚举
 *
 * 集中管理所有合法的亲密度增减来源标识，写入 marriage_intimacy_logs.source。
 * 新增来源只需在此加一行，数据库字段无需变更（VARCHAR 类型）。
 *
 * @author  ChatRoom Laravel
 *
 * @version 1.0.0
 */

namespace App\Enums;

enum IntimacySource: string
{
    /** 每日时间奖励（Horizon 00:00 定时任务） */
    case DAILY_TIME = 'daily_time';

    /** 双方同时在线（AutoSaveJob 每分钟检测） */
    case ONLINE_TOGETHER = 'online_together';

    /** 收到伴侣送花 */
    case RECV_FLOWER = 'recv_flower';

    /** 向伴侣送花 */
    case SEND_FLOWER = 'send_flower';

    /** 发送私聊消息（每2条 +1） */
    case PRIVATE_CHAT = 'private_chat';

    /** 结婚时戒指初始亲密度加成（一次性） */
    case WEDDING_BONUS = 'wedding_bonus';

    /** 管理员手动调整 */
    case ADMIN_ADJUST = 'admin_adjust';

    /**
     * 返回该来源的中文名称（后台统计展示用）。
     */
    public function label(): string
    {
        return match ($this) {
            self::DAILY_TIME => '每日时间奖励',
            self::ONLINE_TOGETHER => '双方同时在线',
            self::RECV_FLOWER => '收到伴侣送花',
            self::SEND_FLOWER => '向伴侣送花',
            self::PRIVATE_CHAT => '私聊消息',
            self::WEDDING_BONUS => '结婚戒指加成',
            self::ADMIN_ADJUST => '管理员调整',
        };
    }
}
