CheckIn.php 804 B

1234567891011121314151617181920212223242526272829303132
  1. <?php
  2. declare(strict_types=1);
  3. namespace app\miniapi\service\driver;
  4. use app\miniapi\http\Fields;
  5. use app\miniapi\model\MiniTaskRecord;
  6. use plugin\saiadmin\app\model\water\WaterDelivery;
  7. final class CheckIn extends InTransitAction
  8. {
  9. public function fields(): array
  10. {
  11. return ['request_key', 'latitude', 'longitude'];
  12. }
  13. protected function handle(WaterDelivery $task, array $input, int $user): array
  14. {
  15. $data = Fields::location($input) + [
  16. 'coordinate_system' => 'gcj02',
  17. 'source' => 'client_reported',
  18. ];
  19. MiniTaskRecord::recordEvent((int) $task->id, $user, 'checkin', $data);
  20. return [
  21. 'id' => (int) $task->id,
  22. 'checked_in' => true,
  23. 'location_verified' => false,
  24. ];
  25. }
  26. }