Files
chatroom/app/Enums/CurrencySource.php

113 lines
4.1 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';
// ─── 以后新增活动,在这里加一行即可,数据库无需变更 ───────────
// 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';
/**
* 返回该来源的中文名称,用于后台统计展示。
*/
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::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 => '随机事件(星海小博士)',
};
}
}