row->type === ITEM_TYPE::CHEST; } /** * 处理请求 * * @param Request $request * @return mixed */ public function handle(Request $request) { $id = $this->getKey(); $item = Item::find($id); if (!$item) { return $this->response()->error('宝箱不存在'); } // 获取宝箱配置 $chestConfig = ItemChestConfig::with(['consumeGroup', 'rewardGroup', 'conditionGroup']) ->where('item_id', $id) ->first(); // 构建配置信息 $config = [ 'chest_id' => $id, 'chest_name' => $item->name, 'has_config' => $chestConfig !== null, 'is_active' => $chestConfig ? $chestConfig->is_active : false, 'consume_group' => $chestConfig && $chestConfig->consumeGroup ? [ 'id' => $chestConfig->consumeGroup->id, 'name' => $chestConfig->consumeGroup->name, 'code' => $chestConfig->consumeGroup->code, ] : null, 'reward_group' => $chestConfig && $chestConfig->rewardGroup ? [ 'id' => $chestConfig->rewardGroup->id, 'name' => $chestConfig->rewardGroup->name, 'code' => $chestConfig->rewardGroup->code, ] : null, 'condition_group' => $chestConfig && $chestConfig->conditionGroup ? [ 'id' => $chestConfig->conditionGroup->id, 'name' => $chestConfig->conditionGroup->name, 'code' => $chestConfig->conditionGroup->code, ] : null, ]; // 构建HTML内容 $html = $this->buildConfigHtml($config); return $this->response()->success('宝箱V2配置信息')->detail($html); } /** * 构建配置信息HTML * * @param array $config * @return string */ private function buildConfigHtml(array $config): string { $html = '
'; $html .= '
宝箱配置信息
'; $html .= '
'; $html .= '
基本信息
'; $html .= '

宝箱ID: ' . $config['chest_id'] . '

'; $html .= '

宝箱名称: ' . $config['chest_name'] . '

'; if (!$config['has_config']) { $html .= '
'; $html .= '
未配置新系统
'; $html .= '

该宝箱尚未配置新系统,请先创建配置。

'; $html .= '创建配置'; $html .= '
'; } else { $html .= '

配置状态: ' . ($config['is_active'] ? '激活' : '未激活') . '

'; $html .= '
'; $html .= '
消耗组配置
'; if ($config['consume_group']) { $html .= '

消耗组ID: ' . $config['consume_group']['id'] . '

'; $html .= '

消耗组名称: ' . $config['consume_group']['name'] . '

'; $html .= '

消耗组编码: ' . $config['consume_group']['code'] . '

'; $html .= '查看消耗组详情'; } else { $html .= '

未配置消耗组(无额外消耗)

'; } $html .= '
'; $html .= '
奖励组配置
'; if ($config['reward_group']) { $html .= '

奖励组ID: ' . $config['reward_group']['id'] . '

'; $html .= '

奖励组名称: ' . $config['reward_group']['name'] . '

'; $html .= '

奖励组编码: ' . $config['reward_group']['code'] . '

'; $html .= '查看奖励组详情'; } else { $html .= '

未配置奖励组(无法开启宝箱)

'; } $html .= '
'; $html .= '
条件组配置
'; if ($config['condition_group']) { $html .= '

条件组ID: ' . $config['condition_group']['id'] . '

'; $html .= '

条件组名称: ' . $config['condition_group']['name'] . '

'; $html .= '

条件组编码: ' . $config['condition_group']['code'] . '

'; $html .= '查看条件组详情'; } else { $html .= '

未配置条件组(无条件限制)

'; } } $html .= '
'; $html .= '
'; if ($config['has_config']) { $html .= '管理配置 '; } $html .= '编辑宝箱基本信息'; $html .= '
'; $html .= '
'; $html .= '
'; return $html; } }