Files
ai-web/app/Services/ModelScoringService.php
jiangdong.cheng aa16c9f8c2
Some checks failed
Tests / PHP 8.2 (push) Has been cancelled
Tests / PHP 8.3 (push) Has been cancelled
Tests / PHP 8.4 (push) Has been cancelled
init
2026-02-11 17:28:36 +08:00

36 lines
848 B
PHP

<?php
declare(strict_types=1);
namespace App\Services;
use App\Models\AiModel;
class ModelScoringService
{
public function calculateTotal(int $effectiveness, int $price, int $speed): int
{
$boundedEffectiveness = $this->boundScore($effectiveness);
$boundedPrice = $this->boundScore($price);
$boundedSpeed = $this->boundScore($speed);
return (int) round(($boundedEffectiveness * 0.5) + ($boundedPrice * 0.3) + ($boundedSpeed * 0.2));
}
public function apply(AiModel $model): AiModel
{
$model->total_score = $this->calculateTotal(
$model->effectiveness_score,
$model->price_score,
$model->speed_score,
);
return $model;
}
private function boundScore(int $score): int
{
return max(0, min(100, $score));
}
}