Hoan thien core finance v2 - Calculation Pipeline, Form Templates

This commit is contained in:
2026-04-28 03:57:18 +00:00
parent 002c9a8b99
commit 49aa20a634
24 changed files with 1043 additions and 875 deletions

View File

@@ -0,0 +1,33 @@
<?php
namespace App\Services\Calculation;
class CalculationPipeline
{
protected array $steps = [];
public function addStep(CalculationStep $step): static
{
$this->steps[] = $step;
return $this;
}
public function execute(array $initialData): CalculationResult
{
$data = $initialData;
$result = new CalculationResult();
foreach ($this->steps as $step) {
$stepResult = $step->execute($data);
$result->addStep($stepResult);
$data[$step->outputKey()] = $stepResult['rounded_value'];
}
return $result;
}
public function getSteps(): array
{
return $this->steps;
}
}