|
@@ -18,12 +18,15 @@ class Quality
|
|
|
const SlowSix = 6;
|
|
|
const SlowTwo = 7;
|
|
|
|
|
|
-
|
|
|
const SlowNormal = 11; // 7 -> 1
|
|
|
const ThirdNormal = 12; // 4 -> 1
|
|
|
const DefSuccess = 13; // 4 -> 3 -> 1 -> 2
|
|
|
const NormalQuick = 14;
|
|
|
|
|
|
+ const OilWithoutSN = 1;
|
|
|
+ const OilWithSN = 5;
|
|
|
+ const OilSN_TURN = 20;
|
|
|
+
|
|
|
protected $mMchPhonectl;
|
|
|
protected $mMchoilctl;
|
|
|
protected $mSpeeds;
|
|
@@ -47,14 +50,14 @@ class Quality
|
|
|
return $this->mobile_quality($mchid, $quality, $times, $used_time);
|
|
|
}
|
|
|
elseif($card_type == mtopcard\PetroChinaCard || $card_type == mtopcard\SinopecCard) {
|
|
|
- return $this->oil_quality($mchid, $quality, $times,$caller);
|
|
|
+ return $this->oil_quality($mchid, $quality, $times,$used_time,$caller);
|
|
|
}
|
|
|
else {
|
|
|
return [0, []];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private function oil_quality($mchid, $quality, $times, $caller): array
|
|
|
+ private function oil_quality($mchid, $quality, $times,$used_time,$caller): array
|
|
|
{
|
|
|
Log::record("oil_quality mchid={$mchid},quality={$quality},times={$times}",Log::DEBUG);
|
|
|
if($quality == 0)
|
|
@@ -85,15 +88,19 @@ class Quality
|
|
|
return [0,[]];
|
|
|
}
|
|
|
|
|
|
- $qualities = $this->calc_oil_quality($qualities,$times,$caller);
|
|
|
+ $qualities = $this->calc_oil_quality($qualities,$times,$used_time,$caller);
|
|
|
|
|
|
return [$org,$qualities];
|
|
|
}
|
|
|
|
|
|
//通过每种类型通道耗时,倒推当前可用通道,并优先走推荐通道.
|
|
|
- private function calc_oil_quality($qualities, $times, $caller)
|
|
|
+ private function calc_oil_quality($qualities, $times, $used_time, $caller)
|
|
|
{
|
|
|
$result = [];
|
|
|
+ if($used_time > 900) {
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+
|
|
|
$total_times = 0;
|
|
|
foreach ($qualities as $quality)
|
|
|
{
|