Files
chatroom/app/Enums/CurrencySource.php

181 lines
6.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* 文件功能:积分来源活动枚举
* 集中管理所有合法的 source 标识值,新增活动只需在此加一行常量,数据库字段无需任何变更。
* 对应数据表user_currency_logs.sourcevarchar 字段,非 ENUM可自由扩展
*
* @author ChatRoom Laravel
*
* @version 1.0.0
*/
namespace App\Enums;
enum CurrencySource: string
{
/** 自动存点Horizon 定时任务每5分钟给在线用户加经验/金币) */
case AUTO_SAVE = 'auto_save';
/** 钓鱼收竿奖励(获得经验或金币) */
case FISHING_GAIN = 'fishing_gain';
/** 钓鱼抛竿消耗(扣除金币) */
case FISHING_COST = 'fishing_cost';
/** 送出礼物(送方扣金币) */
case SEND_GIFT = 'send_gift';
/** 收到礼物(收方魅力增加) */
case RECV_GIFT = 'recv_gift';
/** 新人礼包(首次登录赠送金币) */
case NEWBIE_BONUS = 'newbie_bonus';
/** 商城购买消耗(扣除金币) */
case SHOP_BUY = 'shop_buy';
/** 管理员手动调整(后台直接修改经验/金币/魅力) */
case ADMIN_ADJUST = 'admin_adjust';
/** 职务奖励(在职管理员通过名片弹窗向用户发放奖励金币) */
case POSITION_REWARD = 'position_reward';
/** AI赠送福利用户向AI祈求获得的随机奖励 */
case AI_GIFT = 'ai_gift';
/** 赠人玫瑰用户或AI对外发放金币红包 */
case GIFT_SENT = 'gift_sent';
// ─── 以后新增活动,在这里加一行即可,数据库无需变更 ───────────
// case SIGN_IN = 'sign_in'; // 每日签到
// case TASK_REWARD = 'task_reward'; // 任务奖励
// case PVP_WIN = 'pvp_win'; // PVP 胜利奖励
// ─── 婚姻系统 ────────────────────────────────────────────────
/** 结婚魅力加成(双方各获得,由戒指档次决定) */
case MARRY_CHARM = 'marry_charm';
/** 离婚魅力惩罚(协议/强制/超时自动)*/
case DIVORCE_CHARM = 'divorce_charm';
/** 购买戒指gold 消耗,由 ShopService 代理) */
case RING_BUY = 'ring_buy';
/** 戒指消失记录(求婚被拒/超时,金额=0仅存档 */
case RING_LOST = 'ring_lost';
/** 发送婚礼红包(扣除金币) */
case WEDDING_ENV_SEND = 'wedding_env_send';
/** 领取婚礼红包(收入金币) */
case WEDDING_ENV_RECV = 'wedding_env_recv';
/** 强制离婚财产转移(付出方为负,接收方为正) */
case FORCED_DIVORCE_TRANSFER = 'forced_divorce_transfer';
/** 节日福利红包(管理员设置的定时金币福利) */
case HOLIDAY_BONUS = 'holiday_bonus';
/** 百家乐下注消耗(扣除金币) */
case BACCARAT_BET = 'baccarat_bet';
/** 百家乐中奖赔付(收入金币,含本金返还) */
case BACCARAT_WIN = 'baccarat_win';
/** 星海小博士随机事件(好运/坏运/经验/金币奖惩) */
case AUTO_EVENT = 'auto_event';
/** 老虎机转动消耗金币 */
case SLOT_SPIN = 'slot_spin';
/** 老虎机中奖赔付(含本金返还) */
case SLOT_WIN = 'slot_win';
/** 老虎机诅咒额外扣除 */
case SLOT_CURSE = 'slot_curse';
/** 领取礼包红包——金币(用户抢到金币礼包时收入) */
case RED_PACKET_RECV = 'red_packet_recv';
/** 领取礼包红包——经验(用户抢到经验礼包时收入) */
case RED_PACKET_RECV_EXP = 'red_packet_recv_exp';
/** 神秘箱子——领取奖励(普通箱/稀有箱,正数金币) */
case MYSTERY_BOX = 'mystery_box';
/** 神秘箱子——黑化陷阱(倒扣金币,负数) */
case MYSTERY_BOX_TRAP = 'mystery_box_trap';
/** 赛马竞猜——下注消耗(扣除金币) */
case HORSE_BET = 'horse_bet';
/** 赛马竞猜——中奖赔付(收入金币,含本金返还) */
case HORSE_WIN = 'horse_win';
/** 神秘占卜——额外次数消耗(扣除金币) */
case FORTUNE_COST = 'fortune_cost';
/** 双色球购票消耗(每注扣除 ticket_price 金币) */
case LOTTERY_BUY = 'lottery_buy';
/** 双色球中奖派奖(所有奖级统一用此 source备注写奖级详情 */
case LOTTERY_WIN = 'lottery_win';
/** 五子棋 PvP 对战入场费PvE 欻入场费) */
case GOMOKU_ENTRY_FEE = 'gomoku_entry_fee';
/** 五子棋对战胜利奖励PvP/PvE 获胜时收入) */
case GOMOKU_WIN = 'gomoku_win';
/** 五子棋 PvE 入场费返还(平局时返还) */
case GOMOKU_REFUND = 'gomoku_refund';
/**
* 返回该来源的中文名称,用于后台统计展示。
*/
public function label(): string
{
return match ($this) {
self::AUTO_SAVE => '自动存点',
self::FISHING_GAIN => '钓鱼奖励',
self::FISHING_COST => '钓鱼消耗',
self::SEND_GIFT => '送出礼物',
self::RECV_GIFT => '收到礼物',
self::NEWBIE_BONUS => '新人礼包',
self::SHOP_BUY => '商城购买',
self::ADMIN_ADJUST => '管理员调整',
self::POSITION_REWARD => '职务奖励',
self::AI_GIFT => 'AI赠送',
self::GIFT_SENT => '发红包',
self::MARRY_CHARM => '结婚魅力加成',
self::DIVORCE_CHARM => '离婚魅力惩罚',
self::RING_BUY => '购买戒指',
self::RING_LOST => '戒指消失',
self::WEDDING_ENV_SEND => '发送婚礼红包',
self::WEDDING_ENV_RECV => '领取婚礼红包',
self::FORCED_DIVORCE_TRANSFER => '强制离婚财产转移',
self::HOLIDAY_BONUS => '节日福利',
self::BACCARAT_BET => '百家乐下注',
self::BACCARAT_WIN => '百家乐赢钱',
self::AUTO_EVENT => '随机事件(星海小博士)',
self::SLOT_SPIN => '老虎机转动',
self::SLOT_WIN => '老虎机中奖',
self::SLOT_CURSE => '老虎机诅咒',
self::RED_PACKET_RECV => '领取礼包红包(金币)',
self::RED_PACKET_RECV_EXP => '领取礼包红包(经验)',
self::MYSTERY_BOX => '神秘箱子奖励',
self::MYSTERY_BOX_TRAP => '神秘箱子陷阱',
self::HORSE_BET => '赛马下注',
self::HORSE_WIN => '赛马赢钱',
self::FORTUNE_COST => '神秘占卜消耗',
self::LOTTERY_BUY => '双色球购票',
self::LOTTERY_WIN => '双色球中奖',
self::GOMOKU_ENTRY_FEE => '五子棋入场费',
self::GOMOKU_WIN => '五子棋获胜奖励',
self::GOMOKU_REFUND => '五子棋入场费返还',
};
}
}