DemoController.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Module\AppGame\HttpControllers;
  3. use App\Http\Controllers\Controller;
  4. use App\Module\AppGame\Tools\Protobuf;
  5. use App\Module\AppGame\Validations\PetEatValidation;
  6. use App\Module\Pet\Services\PetService;
  7. use Illuminate\Http\Request as HttpRequest;
  8. use Illuminate\Support\Facades\DB;
  9. use Illuminate\Support\Facades\Log;
  10. use Illuminate\Support\Str;
  11. use UCore\App;
  12. use UCore\Exception\HandleNotException;
  13. use UCore\Exception\ValidateException;
  14. use UCore\Helper\Logger;
  15. use Uraus\Kku\Common\RESPONSE_CODE;
  16. use Uraus\Kku\Request;
  17. use Uraus\Kku\Response;
  18. use Uraus\Kku\Response\ResponsePetEat;
  19. /**
  20. * Protobuf 控制器
  21. *
  22. * 负责处理来自客户端的 Protobuf 请求,并将其路由到相应的处理器
  23. */
  24. class DemoController extends Controller
  25. {
  26. public function index()
  27. {
  28. $validation = PetEatValidation::make([
  29. 'user_id' => 10006,
  30. 'itemId' => 49,
  31. 'petId' => 8,
  32. 'num' => 1
  33. ]);
  34. $validation->validated();
  35. // 获取请求参数
  36. $petId = $validation->getSafe('petId');
  37. $itemId = $validation->getSafe('itemId');
  38. $num = $validation->getSafe('num');
  39. $userId = 10006;
  40. // 创建响应对象
  41. $response = new ResponsePetEat();
  42. // 开启数据库事务
  43. DB::beginTransaction();
  44. // 调用宠物服务进行喂养
  45. $feedResult = PetService::feedPet($userId, $petId, $itemId, $num);
  46. DB::rollBack();
  47. }
  48. }