功能:婚姻系统第1-3步(枚举/迁移/Seeder)
Step 1 - 枚举扩展: - 新增 IntimacySource 枚举(7种亲密度来源) - CurrencySource 追加7个婚姻相关来源 Step 2 - 数据库迁移(6张表): - marriage_configs(约30条可配置参数) - marriage_intimacy_logs(亲密度变更日志) - wedding_tiers(5档婚礼配置) - wedding_ceremonies(婚礼仪式记录) - wedding_envelope_claims(红包领取记录) - marriages 表改良(新增全部业务字段) - users.frozen_jjb(定时婚礼金币冻结) - shop_items.type 枚举添加 ring 类型 Step 3 - Seeder: - 28条婚姻参数默认配置 - 5个婚礼档位 - 3种戒指道具(银/金/钻)
This commit is contained in:
@@ -46,6 +46,29 @@ enum CurrencySource: string
|
||||
// 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';
|
||||
|
||||
/**
|
||||
* 返回该来源的中文名称,用于后台统计展示。
|
||||
*/
|
||||
@@ -61,6 +84,13 @@ enum CurrencySource: string
|
||||
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 => '强制离婚财产转移',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
<?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 => '管理员调整',
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user