self::scoreR_Default($recencyDays), 'F' => self::scoreF_Default($frequency), 'M' => self::scoreM_Default($monetary), ]; } // 默认规则 protected static function scoreR_Default(int $days): int { if ($days <= 30) return 5; if ($days <= 60) return 4; if ($days <= 90) return 3; if ($days <= 120) return 2; return 1; } protected static function scoreF_Default(int $times): int { if ($times >= 10) return 5; if ($times >= 6) return 4; if ($times >= 3) return 3; if ($times >= 2) return 2; if ($times >= 1) return 1; return 0; } protected static function scoreM_Default(float $amount): int { if ($amount >= 2000) return 5; if ($amount >= 1000) return 4; if ($amount >= 500) return 3; if ($amount >= 200) return 2; if ($amount > 0) return 1; return 0; } }