| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- namespace App\Module\Game\AdminControllers\Api;
- use App\Module\Fund\Models\FundConfigModel;
- use App\Module\Fund\Models\FundCurrencyModel;
- use App\Module\Game\Enums\REWARD_TYPE;
- use App\Module\GameItems\Models\Item;
- use Dcat\Admin\Http\JsonResponse;
- use Dcat\Admin\Layout\Content;
- use Illuminate\Http\Request;
- use Illuminate\Routing\Controller;
- use Spatie\RouteAttributes\Attributes\Get;
- use Spatie\RouteAttributes\Attributes\Prefix;
- /**
- * 奖励目标API控制器
- *
- * 用于提供奖励目标的动态选项
- */
- #[Prefix('admin/api')]
- class RewardTargetController extends Controller
- {
- /**
- * 获取奖励目标选项
- *
- * @param Request $request
- * @return JsonResponse
- */
- #[Get('reward-targets')]
- public function getTargets(Request $request)
- {
- $rewardType = $request->get('reward_type');
- $options = [];
- switch ($rewardType) {
- case REWARD_TYPE::ITEM->value:
- // 物品类型,返回物品列表
- $options = Item::pluck('name', 'id')->toArray();
- break;
- case REWARD_TYPE::CURRENCY->value:
- // 货币类型,返回货币列表
- $options = FundCurrencyModel::pluck('name', 'id')->toArray();
- break;
- case REWARD_TYPE::FUND->value:
- // 代币账户类型,返回代币账户列表
- $options = FundConfigModel::pluck('name', 'id')->toArray();
- break;
- case REWARD_TYPE::PET_EXP->value:
- case REWARD_TYPE::PET_ENERGY->value:
- // 宠物相关类型,这里可以返回宠物列表
- // 暂时返回空选项
- $options = [];
- break;
- case REWARD_TYPE::OTHER->value:
- // 其他类型,返回空选项
- $options = [];
- break;
- default:
- // 未知类型,返回空选项
- $options = [];
- break;
- }
- return response()->json($options);
- }
- }
|