|
@@ -409,7 +409,7 @@ namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
Contest contest = JsonDocument.Parse(responseContest.Content).RootElement.ToObject<Contest>();
|
|
Contest contest = JsonDocument.Parse(responseContest.Content).RootElement.ToObject<Contest>();
|
|
long now = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
|
long now = DateTimeOffset.Now.ToUnixTimeMilliseconds();
|
|
- ContestTime contestTime = new ContestTime() {
|
|
|
|
|
|
+ ContestUpdate contestUpdate = new ContestUpdate() {
|
|
signStime= contest.sign?.stime,
|
|
signStime= contest.sign?.stime,
|
|
signEtime= contest.sign?.etime,
|
|
signEtime= contest.sign?.etime,
|
|
|
|
|
|
@@ -422,51 +422,57 @@ namespace TEAMModelOS.Controllers
|
|
scoreStime= contest.score?.stime,
|
|
scoreStime= contest.score?.stime,
|
|
scoreEtime= contest.score?.etime,
|
|
scoreEtime= contest.score?.etime,
|
|
};
|
|
};
|
|
|
|
+
|
|
|
|
+
|
|
if (_contestUpdate.TryGetProperty("signStime", out JsonElement signStime) && signStime.ValueKind.Equals(JsonValueKind.Number)) {
|
|
if (_contestUpdate.TryGetProperty("signStime", out JsonElement signStime) && signStime.ValueKind.Equals(JsonValueKind.Number)) {
|
|
- contestTime.signStime=signStime.GetInt64();
|
|
|
|
|
|
+ contestUpdate.signStime=signStime.GetInt64();
|
|
}
|
|
}
|
|
if (_contestUpdate.TryGetProperty("signEtime", out JsonElement signEtime) && signEtime.ValueKind.Equals(JsonValueKind.Number))
|
|
if (_contestUpdate.TryGetProperty("signEtime", out JsonElement signEtime) && signEtime.ValueKind.Equals(JsonValueKind.Number))
|
|
{
|
|
{
|
|
- contestTime.signEtime=signEtime.GetInt64();
|
|
|
|
|
|
+ contestUpdate.signEtime=signEtime.GetInt64();
|
|
}
|
|
}
|
|
|
|
|
|
if (_contestUpdate.TryGetProperty("uploadStime", out JsonElement uploadStime) && uploadStime.ValueKind.Equals(JsonValueKind.Number))
|
|
if (_contestUpdate.TryGetProperty("uploadStime", out JsonElement uploadStime) && uploadStime.ValueKind.Equals(JsonValueKind.Number))
|
|
{
|
|
{
|
|
- contestTime.uploadStime=uploadStime.GetInt64();
|
|
|
|
|
|
+ contestUpdate.uploadStime=uploadStime.GetInt64();
|
|
}
|
|
}
|
|
if (_contestUpdate.TryGetProperty("uploadEtime", out JsonElement uploadEtime) && uploadEtime.ValueKind.Equals(JsonValueKind.Number))
|
|
if (_contestUpdate.TryGetProperty("uploadEtime", out JsonElement uploadEtime) && uploadEtime.ValueKind.Equals(JsonValueKind.Number))
|
|
{
|
|
{
|
|
- contestTime.uploadEtime=uploadEtime.GetInt64();
|
|
|
|
|
|
+ contestUpdate.uploadEtime=uploadEtime.GetInt64();
|
|
}
|
|
}
|
|
|
|
|
|
if (_contestUpdate.TryGetProperty("reviewStime", out JsonElement reviewStime) && reviewStime.ValueKind.Equals(JsonValueKind.Number))
|
|
if (_contestUpdate.TryGetProperty("reviewStime", out JsonElement reviewStime) && reviewStime.ValueKind.Equals(JsonValueKind.Number))
|
|
{
|
|
{
|
|
- contestTime.reviewStime=reviewStime.GetInt64();
|
|
|
|
|
|
+ contestUpdate.reviewStime=reviewStime.GetInt64();
|
|
}
|
|
}
|
|
|
|
|
|
if (_contestUpdate.TryGetProperty("reviewEtime", out JsonElement reviewEtime) && reviewEtime.ValueKind.Equals(JsonValueKind.Number))
|
|
if (_contestUpdate.TryGetProperty("reviewEtime", out JsonElement reviewEtime) && reviewEtime.ValueKind.Equals(JsonValueKind.Number))
|
|
{
|
|
{
|
|
- contestTime.reviewEtime=reviewEtime.GetInt64();
|
|
|
|
|
|
+ contestUpdate.reviewEtime=reviewEtime.GetInt64();
|
|
}
|
|
}
|
|
|
|
|
|
if (_contestUpdate.TryGetProperty("scoreStime", out JsonElement scoreStime) && scoreStime.ValueKind.Equals(JsonValueKind.Number))
|
|
if (_contestUpdate.TryGetProperty("scoreStime", out JsonElement scoreStime) && scoreStime.ValueKind.Equals(JsonValueKind.Number))
|
|
{
|
|
{
|
|
- contestTime.scoreStime=scoreStime.GetInt64();
|
|
|
|
|
|
+ contestUpdate.scoreStime=scoreStime.GetInt64();
|
|
}
|
|
}
|
|
|
|
|
|
if (_contestUpdate.TryGetProperty("scoreEtime", out JsonElement scoreEtime) && scoreEtime.ValueKind.Equals(JsonValueKind.Number))
|
|
if (_contestUpdate.TryGetProperty("scoreEtime", out JsonElement scoreEtime) && scoreEtime.ValueKind.Equals(JsonValueKind.Number))
|
|
{
|
|
{
|
|
- contestTime.scoreEtime=scoreEtime.GetInt64();
|
|
|
|
|
|
+ contestUpdate.scoreEtime=scoreEtime.GetInt64();
|
|
|
|
+ }
|
|
|
|
+ if (_contestUpdate.TryGetProperty("addModules", out JsonElement addModules) && addModules.ValueKind.Equals(JsonValueKind.Array))
|
|
|
|
+ {
|
|
|
|
+ contestUpdate.addModules = addModules.ToObject<List<string>>();
|
|
}
|
|
}
|
|
if (contest.modules.Contains("sign") && contest.sign!= null )
|
|
if (contest.modules.Contains("sign") && contest.sign!= null )
|
|
{
|
|
{
|
|
|
|
|
|
- if (contestTime.signStime.HasValue &&contestTime.signEtime.HasValue) {
|
|
|
|
- if (contestTime.reviewStime.HasValue)
|
|
|
|
|
|
+ if (contestUpdate.signStime.HasValue &&contestUpdate.signEtime.HasValue) {
|
|
|
|
+ if (contestUpdate.reviewStime.HasValue)
|
|
{
|
|
{
|
|
- if (contestTime.signEtime.Value<contestTime.reviewStime.Value)
|
|
|
|
|
|
+ if (contestUpdate.signEtime.Value<contestUpdate.reviewStime.Value)
|
|
{
|
|
{
|
|
- contest.sign.etime=contestTime.signEtime.Value;
|
|
|
|
|
|
+ contest.sign.etime=contestUpdate.signEtime.Value;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -475,11 +481,11 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- contest.sign.etime=contestTime.signEtime.Value;
|
|
|
|
|
|
+ contest.sign.etime=contestUpdate.signEtime.Value;
|
|
}
|
|
}
|
|
- if (contestTime.signEtime.Value> contestTime.signStime.Value)
|
|
|
|
|
|
+ if (contestUpdate.signEtime.Value> contestUpdate.signStime.Value)
|
|
{
|
|
{
|
|
- contest.sign.stime=contestTime.signStime.Value;
|
|
|
|
|
|
+ contest.sign.stime=contestUpdate.signStime.Value;
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
return Ok(new { code = 2, msg = "报名开始时间不能早于报名结束时间!" });
|
|
return Ok(new { code = 2, msg = "报名开始时间不能早于报名结束时间!" });
|
|
@@ -494,13 +500,13 @@ namespace TEAMModelOS.Controllers
|
|
if (contest.modules.Contains("upload") && contest.upload!= null)
|
|
if (contest.modules.Contains("upload") && contest.upload!= null)
|
|
{
|
|
{
|
|
|
|
|
|
- if (contestTime.uploadStime.HasValue &&contestTime.uploadEtime.HasValue)
|
|
|
|
|
|
+ if (contestUpdate.uploadStime.HasValue &&contestUpdate.uploadEtime.HasValue)
|
|
{
|
|
{
|
|
- if (contestTime.reviewStime.HasValue)
|
|
|
|
|
|
+ if (contestUpdate.reviewStime.HasValue)
|
|
{
|
|
{
|
|
- if (contestTime.uploadEtime.Value<contestTime.reviewStime.Value)
|
|
|
|
|
|
+ if (contestUpdate.uploadEtime.Value<contestUpdate.reviewStime.Value)
|
|
{
|
|
{
|
|
- contest.upload.etime=contestTime.uploadEtime.Value;
|
|
|
|
|
|
+ contest.upload.etime=contestUpdate.uploadEtime.Value;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -509,11 +515,11 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- contest.upload.etime=contestTime.uploadEtime.Value;
|
|
|
|
|
|
+ contest.upload.etime=contestUpdate.uploadEtime.Value;
|
|
}
|
|
}
|
|
- if (contestTime.uploadEtime.Value> contestTime.uploadStime.Value)
|
|
|
|
|
|
+ if (contestUpdate.uploadEtime.Value> contestUpdate.uploadStime.Value)
|
|
{
|
|
{
|
|
- contest.upload.stime=contestTime.uploadStime.Value;
|
|
|
|
|
|
+ contest.upload.stime=contestUpdate.uploadStime.Value;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -537,13 +543,13 @@ namespace TEAMModelOS.Controllers
|
|
if (contest.modules.Contains("review") && contest.review!= null)
|
|
if (contest.modules.Contains("review") && contest.review!= null)
|
|
{
|
|
{
|
|
|
|
|
|
- if (contestTime.reviewStime.HasValue &&contestTime.reviewEtime.HasValue)
|
|
|
|
|
|
+ if (contestUpdate.reviewStime.HasValue &&contestUpdate.reviewEtime.HasValue)
|
|
{
|
|
{
|
|
- if (contestTime.scoreStime.HasValue)
|
|
|
|
|
|
+ if (contestUpdate.scoreStime.HasValue)
|
|
{
|
|
{
|
|
- if (contestTime.reviewEtime.Value<contestTime.scoreStime.Value)
|
|
|
|
|
|
+ if (contestUpdate.reviewEtime.Value<contestUpdate.scoreStime.Value)
|
|
{
|
|
{
|
|
- contest.review.etime=contestTime.reviewEtime.Value;
|
|
|
|
|
|
+ contest.review.etime=contestUpdate.reviewEtime.Value;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -552,11 +558,11 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- contest.review.etime=contestTime.reviewEtime.Value;
|
|
|
|
|
|
+ contest.review.etime=contestUpdate.reviewEtime.Value;
|
|
}
|
|
}
|
|
- if (contestTime.reviewEtime.Value> contestTime.reviewStime.Value)
|
|
|
|
|
|
+ if (contestUpdate.reviewEtime.Value> contestUpdate.reviewStime.Value)
|
|
{
|
|
{
|
|
- contest.review.stime=contestTime.reviewStime.Value;
|
|
|
|
|
|
+ contest.review.stime=contestUpdate.reviewStime.Value;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -568,13 +574,13 @@ namespace TEAMModelOS.Controllers
|
|
if (contest.modules.Contains("score") && contest.score!= null)
|
|
if (contest.modules.Contains("score") && contest.score!= null)
|
|
{
|
|
{
|
|
|
|
|
|
- if (contestTime.scoreStime.HasValue &&contestTime.scoreEtime.HasValue)
|
|
|
|
|
|
+ if (contestUpdate.scoreStime.HasValue &&contestUpdate.scoreEtime.HasValue)
|
|
{
|
|
{
|
|
- if (contestTime.reviewEtime.HasValue)
|
|
|
|
|
|
+ if (contestUpdate.reviewEtime.HasValue)
|
|
{
|
|
{
|
|
- if (contestTime.reviewEtime.Value<contestTime.scoreStime.Value)
|
|
|
|
|
|
+ if (contestUpdate.reviewEtime.Value<contestUpdate.scoreStime.Value)
|
|
{
|
|
{
|
|
- contest.score.stime=contestTime.scoreStime.Value;
|
|
|
|
|
|
+ contest.score.stime=contestUpdate.scoreStime.Value;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -583,11 +589,11 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- contest.score.stime=contestTime.scoreStime.Value;
|
|
|
|
|
|
+ contest.score.stime=contestUpdate.scoreStime.Value;
|
|
}
|
|
}
|
|
- if (contestTime.scoreEtime.Value> contestTime.scoreStime.Value)
|
|
|
|
|
|
+ if (contestUpdate.scoreEtime.Value> contestUpdate.scoreStime.Value)
|
|
{
|
|
{
|
|
- contest.score.etime=contestTime.scoreEtime.Value;
|
|
|
|
|
|
+ contest.score.etime=contestUpdate.scoreEtime.Value;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
@@ -595,6 +601,54 @@ namespace TEAMModelOS.Controllers
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ else {
|
|
|
|
+ //增加公示成绩模块
|
|
|
|
+ if (contestUpdate.addModules.Contains("score") )
|
|
|
|
+ {
|
|
|
|
+ if (contestUpdate.scoreStime.HasValue &&contestUpdate.scoreEtime.HasValue)
|
|
|
|
+ {
|
|
|
|
+ if (!contest.modules.Contains("score"))
|
|
|
|
+ {
|
|
|
|
+ contest.modules.Add("score");
|
|
|
|
+ }
|
|
|
|
+ if (contest.score==null)
|
|
|
|
+ {
|
|
|
|
+ contest.score= new ContestScore
|
|
|
|
+ {
|
|
|
|
+ scoreStatus=0,
|
|
|
|
+ showType=0,
|
|
|
|
+ showDetail=0,
|
|
|
|
+ levelType=0,
|
|
|
|
+ top=-1
|
|
|
|
+ };
|
|
|
|
+ }
|
|
|
|
+ if (contestUpdate.reviewEtime.HasValue)
|
|
|
|
+ {
|
|
|
|
+ if (contestUpdate.reviewEtime.Value<contestUpdate.scoreStime.Value)
|
|
|
|
+ {
|
|
|
|
+ contest.score.stime=contestUpdate.scoreStime.Value;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ return Ok(new { code = 7, msg = "成绩公布开始时间不能早于评审结束时间!" });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ contest.score.stime=contestUpdate.scoreStime.Value;
|
|
|
|
+ }
|
|
|
|
+ if (contestUpdate.scoreEtime.Value> contestUpdate.scoreStime.Value)
|
|
|
|
+ {
|
|
|
|
+ contest.score.etime=contestUpdate.scoreEtime.Value;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ return Ok(new { code = 8, msg = "成绩公布结束时间不能晚于成绩公布开始时间!" });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Common).UpsertItemAsync(contest, new PartitionKey("Contest"));
|
|
await _azureCosmos.GetCosmosClient().GetContainer(Constant.TEAMModelOS, Constant.Common).UpsertItemAsync(contest, new PartitionKey("Contest"));
|
|
return Ok(new { code = 200, contest });
|
|
return Ok(new { code = 200, contest });
|
|
}
|
|
}
|