Files
chatroom/app/Enums/CurrencySource.php

97 lines
3.5 KiB
PHP
Raw Normal View History

<?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';
/**
* 返回该来源的中文名称,用于后台统计展示。
*/
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 => '强制离婚财产转移',
};
}
}