|
@@ -169,13 +169,50 @@ namespace TEAMModelOS.SDK
|
|
|
/// </summary>
|
|
|
/// <param name="semesterList"></param>
|
|
|
/// <returns></returns>
|
|
|
- public static (List<KeyValuePair<int, int>> gradeYear, HashSet<int> years) GetYears(School school, string periodId, IEnumerable<int> grades, long time = 0) {
|
|
|
+ public static (List<KeyValuePair<int, int>> gradeYear, HashSet<int> years) GetYears(School school, string periodId, IEnumerable<int> grades,long timestamp=0, string time = null) {
|
|
|
var date = DateTimeOffset.UtcNow;
|
|
|
//2001-09-09 09:46:40
|
|
|
- if (time > 1000000000000)
|
|
|
+
|
|
|
+ bool hasData = false;
|
|
|
+ if (timestamp > 1000000000)
|
|
|
{
|
|
|
- date = DateTimeOffset.FromUnixTimeMilliseconds(time);
|
|
|
+ //毫秒级
|
|
|
+ if (timestamp > 1000000000000)
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.FromUnixTimeMilliseconds(timestamp);
|
|
|
+ hasData = true;
|
|
|
+ }
|
|
|
+ //秒级
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.FromUnixTimeSeconds(timestamp);
|
|
|
+ hasData =true;
|
|
|
+ }
|
|
|
}
|
|
|
+ if (hasData==false)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrWhiteSpace(time))
|
|
|
+ {
|
|
|
+
|
|
|
+ if (DateTimeOffset.TryParse(time, out date))
|
|
|
+ {
|
|
|
+ if (date.ToUnixTimeMilliseconds()<1514736000000)
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//年级算法
|
|
|
var period = school.period.Find(x => x.id.Equals(periodId));
|
|
|
|
|
@@ -224,23 +261,50 @@ namespace TEAMModelOS.SDK
|
|
|
/// </summary>
|
|
|
/// <param name="semesterList"></param>
|
|
|
/// <returns></returns>
|
|
|
- public static (List<KeyValuePair<int, string>> yearGrade,HashSet<string> grades) GetGrades(School school,string periodId , IEnumerable<int> years,long time =0) {
|
|
|
+ public static (List<KeyValuePair<int, string>> yearGrade,HashSet<string> grades) GetGrades(School school,string periodId , IEnumerable<int> years,long timestamp = 0,string time =null) {
|
|
|
|
|
|
var date = DateTimeOffset.UtcNow;
|
|
|
//2001-09-09 09:46:40
|
|
|
- if (time > 1000000000)
|
|
|
+
|
|
|
+ bool hasData = false;
|
|
|
+ if (timestamp > 1000000000)
|
|
|
{
|
|
|
//毫秒级
|
|
|
- if (time > 1000000000000)
|
|
|
+ if (timestamp > 1000000000000)
|
|
|
{
|
|
|
- date = DateTimeOffset.FromUnixTimeMilliseconds(time);
|
|
|
+ date = DateTimeOffset.FromUnixTimeMilliseconds(timestamp);
|
|
|
+ hasData = true;
|
|
|
}
|
|
|
//秒级
|
|
|
else
|
|
|
{
|
|
|
- date = DateTimeOffset.FromUnixTimeSeconds(time);
|
|
|
+ date = DateTimeOffset.FromUnixTimeSeconds(timestamp);
|
|
|
+ hasData =true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (hasData==false)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrWhiteSpace(time))
|
|
|
+ {
|
|
|
+
|
|
|
+ if (DateTimeOffset.TryParse(time, out date))
|
|
|
+ {
|
|
|
+ if (date.ToUnixTimeMilliseconds()<1514736000000)
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
//年级算法
|
|
|
var period = school.period.Find(x => x.id.Equals(periodId));
|
|
|
int? Count = period?.grades?.Count;
|
|
@@ -292,24 +356,43 @@ namespace TEAMModelOS.SDK
|
|
|
{
|
|
|
//string time = "2023/05-11";
|
|
|
DateTimeOffset date = DateTimeOffset.Now;
|
|
|
+ bool hasData = false;
|
|
|
if (timestamp > 1000000000)
|
|
|
{
|
|
|
//毫秒级
|
|
|
if (timestamp > 1000000000000)
|
|
|
{
|
|
|
date = DateTimeOffset.FromUnixTimeMilliseconds(timestamp);
|
|
|
+ hasData = true;
|
|
|
}
|
|
|
//秒级
|
|
|
else
|
|
|
{
|
|
|
date = DateTimeOffset.FromUnixTimeSeconds(timestamp);
|
|
|
+ hasData =true;
|
|
|
}
|
|
|
}
|
|
|
- if (!(!string.IsNullOrWhiteSpace(time) && DateTimeOffset.TryParse(time, out date)))
|
|
|
+ if (hasData==false)
|
|
|
{
|
|
|
- date = DateTimeOffset.UtcNow;
|
|
|
- }
|
|
|
+ if (!string.IsNullOrWhiteSpace(time))
|
|
|
+ {
|
|
|
|
|
|
+ if (DateTimeOffset.TryParse(time, out date))
|
|
|
+ {
|
|
|
+ if (date.ToUnixTimeMilliseconds()<1514736000000) {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
int Day = date.Day;
|
|
|
int Month = date.Month;
|
|
@@ -401,21 +484,42 @@ namespace TEAMModelOS.SDK
|
|
|
public static (Semester currSemester, int studyYear, DateTimeOffset currSemesterDate, DateTimeOffset date, DateTimeOffset nextSemester) GetSemester( Period period, long timestamp = 0, string time =null) {
|
|
|
//string time = "2023/05-11";
|
|
|
DateTimeOffset date = default;
|
|
|
+ bool hasData=false;
|
|
|
if (timestamp > 1000000000) {
|
|
|
//毫秒级
|
|
|
if (timestamp > 1000000000000)
|
|
|
{
|
|
|
date = DateTimeOffset.FromUnixTimeMilliseconds(timestamp);
|
|
|
+ hasData=true;
|
|
|
}
|
|
|
//秒级
|
|
|
else {
|
|
|
date = DateTimeOffset.FromUnixTimeSeconds(timestamp);
|
|
|
+ hasData=true;
|
|
|
}
|
|
|
}
|
|
|
- if (!(!string.IsNullOrWhiteSpace(time) && DateTimeOffset.TryParse(time, out date)))
|
|
|
- {
|
|
|
- date = DateTimeOffset.UtcNow;
|
|
|
+ if (hasData==false) {
|
|
|
+ if (!string.IsNullOrWhiteSpace(time))
|
|
|
+ {
|
|
|
+
|
|
|
+ if (DateTimeOffset.TryParse(time, out date))
|
|
|
+ {
|
|
|
+ if (date.ToUnixTimeMilliseconds()<1514736000000)
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ date = DateTimeOffset.UtcNow;
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
//年级算法
|
|
|
//var period = school.period.Find(x => x.id.Equals(periodId));
|
|
|
List<KeyValuePair<int, string>> yearGrades = new List<KeyValuePair<int, string>>();
|