2014-11-27 23:25:36 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace TrainInfomationProviderService.TrainInfo.Entities
|
|
|
|
|
{
|
|
|
|
|
public class TrainTransitSearchOptions
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 最大允许多出来的时间
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int MaxExtraMinutes { get; set; }
|
2014-12-01 02:17:13 +08:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 最优先推荐的线路数
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int TopMostRecommandCount { get; set; }
|
2014-11-27 23:25:36 +08:00
|
|
|
|
|
2014-11-28 19:04:24 +08:00
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-11-27 23:25:36 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 同一个车次最高保持的换乘站数
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int SameLineMaxKeepStations { get; set; }
|
|
|
|
|
|
2014-11-28 19:04:24 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 当换乘线路数超过此数目时,砍掉超过时间的
|
|
|
|
|
/// </summary>
|
|
|
|
|
public int StartCutLongRunningCount { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 砍掉超过时间比例
|
|
|
|
|
/// </summary>
|
|
|
|
|
public double CutLongRunningRate { get; set; }
|
|
|
|
|
|
2014-11-27 23:25:36 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 创建 <see cref="TrainTransitSearchOptions" /> 的新实例(TrainTransitSearchOptions)
|
|
|
|
|
/// </summary>
|
|
|
|
|
public TrainTransitSearchOptions()
|
|
|
|
|
{
|
|
|
|
|
SameLineMaxKeepStations = 3;
|
2014-12-01 02:17:13 +08:00
|
|
|
|
CutLongRunningRate = 1.7;
|
2014-11-28 19:04:24 +08:00
|
|
|
|
StartCutLongRunningCount = 5;
|
2014-12-01 02:17:13 +08:00
|
|
|
|
TopMostRecommandCount = 16;
|
2014-11-27 23:25:36 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|