Light12306/TrainInfomationProviderService/TrainInfo/Entities/TrainTransitSearchOptions.cs

73 lines
1.6 KiB
C#
Raw Normal View History

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()
{
2015-08-10 20:46:29 +08:00
SameLineMaxKeepStations = 4;
CutLongRunningRate = 2.1;
StartCutLongRunningCount = 7;
2014-12-01 02:17:13 +08:00
TopMostRecommandCount = 16;
2014-11-27 23:25:36 +08:00
}
}
}