功能:婚姻系统第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:
2026-03-01 14:56:47 +08:00
parent 73badefcc5
commit 11dcb03924
10 changed files with 563 additions and 0 deletions

View File

@@ -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 => '管理员调整',
};
}
}