ItemDismantleRule 模型,集成消耗组、奖励组和条件组DismantleRuleController 后台管理ItemRecipe 模型,集成消耗组、奖励组和条件组RecipeController 后台管理GenerateDismantleJsonCommand,支持新的组系统数据结构GenerateRecipeJsonCommand,支持新的组系统数据结构ItemRecipe (配方)
├── result_item_id (产出物品)
├── result_quantity (产出数量)
├── coin_cost (金币消耗)
├── unlock_condition (解锁条件)
└── ItemRecipeMaterial (材料列表)
├── item_id (物品ID)
├── quantity (数量)
└── is_consumed (是否消耗)
ItemDismantleRule (分解规则)
├── item_id/category_id (适用范围)
├── priority (优先级)
├── coin_return_rate (金币返还率)
└── reward_group_id (奖励组) ← 新的奖励系统
注意:ItemDismantleResult表已废弃,现在使用奖励组系统。
ItemRecipe/ItemDismantleRule
├── consume_group_id → GameConsumeGroup (消耗组)
│ └── GameConsumeItem[] (消耗项列表)
├── reward_group_id → GameRewardGroup (奖励组)
│ └── GameRewardItem[] (奖励项列表)
└── condition_group_id → GameConditionGroup (条件组)
└── GameConditionItem[] (条件项列表)
{
"generated_ts": 1732896000,
"recipes": [
{
"id": 1,
"name": "木板制作",
"code": "wood_plank_craft",
"description": "将木材加工成木板",
"success_rate": 1.0,
"cooldown_seconds": 0,
"sort_order": 100,
"consume_group": {
"id": 1,
"name": "木板制作消耗",
"items": [
{
"consume_type": 1,
"target_id": 33,
"quantity": 1
}
]
},
"reward_group": {
"id": 1,
"name": "木板制作奖励",
"is_random": false,
"random_count": 0,
"items": [
{
"reward_type": 1,
"target_id": 34,
"quantity": 4,
"weight": 1.0,
"is_guaranteed": true
}
]
}
}
]
}
{
"generated_ts": 1732896000,
"dismantle_rules": [
{
"id": 1,
"name": "高级装备分解",
"code": "advanced_equipment_dismantle",
"description": "分解高级装备获得稀有材料",
"rule_type": "category",
"category_id": 2,
"priority": 20,
"sort_order": 50,
"consume_group": {
"id": 1,
"name": "高级装备分解消耗",
"items": [
{
"consume_type": 1,
"target_id": 50,
"quantity": 1
}
]
},
"reward_group": {
"id": 2,
"name": "高级装备分解奖励",
"is_random": true,
"random_count": 2,
"items": [
{
"reward_type": 1,
"target_id": 51,
"quantity": 3,
"weight": 60.0,
"is_guaranteed": false
}
]
},
"condition_group": {
"id": 1,
"name": "高级装备分解条件",
"logic_type": 1,
"items": [
{
"condition_type": 1,
"target_id": 0,
"operator": 4,
"value": 10
}
]
}
}
]
}
-- 更新合成配方表
source database/sql/update_item_recipes_for_groups.sql;
-- 更新分解规则表
source database/sql/update_item_dismantle_rules_for_groups.sql;
# 创建示例合成配方
php artisan recipes:create-samples
# 创建示例分解规则
php artisan dismantle:create-samples
/admin/game-items-recipes/admin/game-items-dismantle-rules# 生成新的合成配方JSON
php artisan recipe:generate-json
# 生成新的分解规则JSON
php artisan dismantle:generate-json
ConsumeService、RewardService 和 ConditionService 的相关方法已实现通过这次优化,合成和分解系统已经完全统一到组系统架构下,不仅提供了更强的功能性和灵活性,还为未来的功能扩展奠定了坚实的基础。新系统的设计理念将有助于整个游戏系统的一致性和可维护性。