using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TrainInfomationProviderService.TrainInfo.Entities
{
public class TrainTransitSearchOptions
{
///
/// 最大允许多出来的时间
///
public int MaxExtraMinutes { get; set; }
///
/// 最优先推荐的线路数
///
public int TopMostRecommandCount { get; set; }
public void InitLimit(int baseMinutes)
{
if (baseMinutes < 120)
{
//2小时内的车最大允许到6小时
MaxExtraMinutes = baseMinutes*3;
}
else if (baseMinutes < 180)
{
MaxExtraMinutes = (int)(baseMinutes * 2.5);
}
else if (baseMinutes < 300)
{
MaxExtraMinutes = (int)(baseMinutes * 2);
}
else if (baseMinutes < 900)
{
MaxExtraMinutes = (int)(baseMinutes * 1.5);
}
else
{
MaxExtraMinutes = (int)(baseMinutes * 1.3);
}
}
///
/// 同一个车次最高保持的换乘站数
///
public int SameLineMaxKeepStations { get; set; }
///
/// 当换乘线路数超过此数目时,砍掉超过时间的
///
public int StartCutLongRunningCount { get; set; }
///
/// 砍掉超过时间比例
///
public double CutLongRunningRate { get; set; }
///
/// 创建 的新实例(TrainTransitSearchOptions)
///
public TrainTransitSearchOptions()
{
SameLineMaxKeepStations = 3;
CutLongRunningRate = 1.7;
StartCutLongRunningCount = 5;
TopMostRecommandCount = 16;
}
}
}