CrazyIter_Bin 1 год назад
Родитель
Сommit
a58ef3f1e4
2 измененных файлов с 131 добавлено и 126 удалено
  1. 14 0
      TEAMModelOS.SDK/Models/Cosmos/Common/Activity.cs
  2. 117 126
      TEAMModelOS/Controllers/Common/ActivityController.cs

+ 14 - 0
TEAMModelOS.SDK/Models/Cosmos/Common/Activity.cs

@@ -381,6 +381,20 @@ namespace TEAMModelOS.SDK.Models
         /// </summary>
         /// </summary>
         public int scoreDetail { get; set; } = 0;
         public int scoreDetail { get; set; } = 0;
     }
     }
+
+    public class ContestTime 
+    {
+        public long? scoreStime { get; set; } = -1;
+        public long? scoreEtime { get; set; } = -1;
+        public long? signStime { get; set; } = -1;
+        public long? signEtime { get; set; } = -1;
+        public long? uploadStime { get; set; } = -1;
+        public long? uploadEtime { get; set; } = -1;
+        public long? reviewStime { get; set; } = -1;
+        public long? reviewEtime { get; set; } = -1;
+
+    }
+
     public class RuleConfig {
     public class RuleConfig {
         public string id { get; set; }
         public string id { get; set; }
         public string pid { get; set; }
         public string pid { get; set; }

+ 117 - 126
TEAMModelOS/Controllers/Common/ActivityController.cs

@@ -408,199 +408,190 @@ namespace TEAMModelOS.Controllers
                             if (responseContest.Status==200)
                             if (responseContest.Status==200)
                             {
                             {
                                 Contest contest = JsonDocument.Parse(responseContest.Content).RootElement.ToObject<Contest>();
                                 Contest contest = JsonDocument.Parse(responseContest.Content).RootElement.ToObject<Contest>();
-                                bool checkReviewStime = false;
                                 long now = DateTimeOffset.Now.ToUnixTimeMilliseconds();
                                 long now = DateTimeOffset.Now.ToUnixTimeMilliseconds();
-                                //需要检查评审时间
-                                if (contest.modules.Contains("review") && contest.review!= null  && now<contest.review.stime)
+                                ContestTime contestTime = new ContestTime() {
+                                    signStime= contest.sign?.stime,
+                                    signEtime= contest.sign?.etime,
+
+                                    uploadStime= contest.upload?.stime,
+                                    uploadEtime= contest.upload?.etime,
+
+                                    reviewStime= contest.review?.stime,
+                                    reviewEtime= contest.review?.etime,
+
+                                    scoreStime= contest.score?.stime,
+                                    scoreEtime= contest.score?.etime,
+                                };
+                                if (_contestUpdate.TryGetProperty("signStime", out JsonElement signStime)  && signStime.ValueKind.Equals(JsonValueKind.Number)) {
+                                    contestTime.signStime=signStime.GetInt64();
+                                }
+                                if (_contestUpdate.TryGetProperty("signEtime", out JsonElement signEtime)  && signEtime.ValueKind.Equals(JsonValueKind.Number))
                                 {
                                 {
-                                    checkReviewStime = true;
+                                    contestTime.signEtime=signEtime.GetInt64();
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("signStime", out JsonElement signStime)  && signStime.ValueKind.Equals(JsonValueKind.Number))
+
+                                if (_contestUpdate.TryGetProperty("uploadStime", out JsonElement uploadStime)  && uploadStime.ValueKind.Equals(JsonValueKind.Number))
                                 {
                                 {
-                                    if (checkReviewStime)
-                                    {
-                                        if (contest.modules.Contains("sign")  && contest.sign!= null)
-                                        {
-                                            contest.sign.stime=signStime.GetInt64();
-                                        }
-                                    }
-                                    else
-                                    {
-                                        return Ok(new { code = 2, msg = "已经开始评审!" });
-                                    }
+                                    contestTime.uploadStime=uploadStime.GetInt64();
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("signEtime", out JsonElement signEtime)  && signEtime.ValueKind.Equals(JsonValueKind.Number))
+                                if (_contestUpdate.TryGetProperty("uploadEtime", out JsonElement uploadEtime)  && uploadEtime.ValueKind.Equals(JsonValueKind.Number))
                                 {
                                 {
-                                    if (checkReviewStime)
-                                    {
-                                        if (contest.modules.Contains("sign")  && contest.sign!= null)
-                                        {
-                                            contest.sign.etime=signEtime.GetInt64();
-                                        }
-                                    }
-                                    else
-                                    {
-                                        return Ok(new { code = 2, msg = "已经开始评审!" });
-                                    }
+                                    contestTime.uploadEtime=uploadEtime.GetInt64();
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("limit", out JsonElement limit)  && limit.ValueKind.Equals(JsonValueKind.Number))
+
+                                if (_contestUpdate.TryGetProperty("reviewStime", out JsonElement reviewStime)  && reviewStime.ValueKind.Equals(JsonValueKind.Number))
                                 {
                                 {
-                                    if (checkReviewStime)
-                                    {
-                                        if (contest.modules.Contains("sign")  && contest.sign!= null)
-                                        {
-                                            contest.sign.limit=limit.GetInt32();
-                                        }
-                                    }
-                                    else
-                                    {
-                                        return Ok(new { code = 2, msg = "已经开始评审!" });
-                                    }
+                                    contestTime.reviewStime=reviewStime.GetInt64();
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("uploadStime", out JsonElement uploadStime)  && uploadStime.ValueKind.Equals(JsonValueKind.Number))
+
+                                if (_contestUpdate.TryGetProperty("reviewEtime", out JsonElement reviewEtime)  && reviewEtime.ValueKind.Equals(JsonValueKind.Number))
                                 {
                                 {
-                                    if (checkReviewStime)
-                                    {
-                                        if (contest.modules.Contains("upload")  && contest.upload!= null)
-                                        {
-                                            contest.upload.stime=uploadStime.GetInt64();
-                                        }
-                                    }
-                                    else
-                                    {
-                                        return Ok(new { code = 2, msg = "已经开始评审!" });
-                                    }
+                                    contestTime.reviewEtime=reviewEtime.GetInt64();
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("uploadEtime", out JsonElement uploadEtime)  && uploadEtime.ValueKind.Equals(JsonValueKind.Number))
+
+                                if (_contestUpdate.TryGetProperty("scoreStime", out JsonElement scoreStime)  && scoreStime.ValueKind.Equals(JsonValueKind.Number))
                                 {
                                 {
-                                    if (checkReviewStime)
-                                    {
-                                        if (contest.modules.Contains("upload")  && contest.upload!= null)
-                                        {
-                                            contest.upload.etime=uploadEtime.GetInt64();
-                                        }
-                                    }
-                                    else
-                                    {
-                                        return Ok(new { code = 2, msg = "已经开始评审!" });
-                                    }
+                                    contestTime.scoreStime=scoreStime.GetInt64();
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("updateDesc", out JsonElement desc)  && desc.ValueKind.Equals(JsonValueKind.String))
+
+                                if (_contestUpdate.TryGetProperty("scoreEtime", out JsonElement scoreEtime)  && scoreEtime.ValueKind.Equals(JsonValueKind.Number))
                                 {
                                 {
-                                    if (checkReviewStime)
-                                    {
-                                        if (contest.modules.Contains("upload")  && contest.upload!= null)
-                                        {
-                                            contest.upload.desc=desc.GetString();
-                                        }
-                                    }
-                                    else
-                                    {
-                                        return Ok(new { code = 2, msg = "已经开始评审!" });
-                                    }
+                                    contestTime.scoreEtime=scoreEtime.GetInt64();
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("fileType", out JsonElement fileType)  && fileType.ValueKind.Equals(JsonValueKind.Array))
+                                if (contest.modules.Contains("sign")  && contest.sign!= null    )
                                 {
                                 {
-                                    if (checkReviewStime)
-                                    {
-                                        if (contest.modules.Contains("upload")  && contest.upload!= null)
+
+                                    if (contestTime.signStime.HasValue  &&contestTime.signEtime.HasValue) {
+                                        if (contestTime.reviewStime.HasValue)
                                         {
                                         {
-                                            if (contest.upload.fileType.IsNotEmpty())
+                                            if (contestTime.signEtime.Value<contestTime.reviewStime.Value)
+                                            {
+                                                contest.sign.etime=contestTime.signEtime.Value;
+                                            }
+                                            else
                                             {
                                             {
-                                                contest.upload.fileType=fileType.ToObject<List<string>>();
+                                                return Ok(new { code = 1, msg = "报名结束时间不能晚于评审开始时间!" });
                                             }
                                             }
                                         }
                                         }
+                                        else
+                                        {
+                                            contest.sign.etime=contestTime.signEtime.Value;
+                                        }
+                                        if (contestTime.signEtime.Value> contestTime.signStime.Value)
+                                        {
+                                            contest.sign.stime=contestTime.signStime.Value;
+                                        }
+                                        else {
+                                            return Ok(new { code = 2, msg = "报名开始时间不能早于报名结束时间!" });
+                                        }
                                     }
                                     }
-                                    else
+                                    if (_contestUpdate.TryGetProperty("limit", out JsonElement limit)  && limit.ValueKind.Equals(JsonValueKind.Number))
                                     {
                                     {
-                                        return Ok(new { code = 2, msg = "已经开始评审!" });
+                                        contest.sign.limit=limit.GetInt32();
                                     }
                                     }
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("reviewStime", out JsonElement reviewStime)  && reviewStime.ValueKind.Equals(JsonValueKind.Number))
+
+                                if (contest.modules.Contains("upload")  && contest.upload!= null)
                                 {
                                 {
-                                    //评审时间不能早于作品上传结束时间的处理
-                                    if (contest.modules.Contains("review")  && contest.review!= null)
+
+                                    if (contestTime.uploadStime.HasValue  &&contestTime.uploadEtime.HasValue)
                                     {
                                     {
-                                        if (contest.modules.Contains("upload") &&contest.upload!= null)
+                                        if (contestTime.reviewStime.HasValue)
                                         {
                                         {
-                                            if (contest.upload.etime<reviewStime.GetInt64())
+                                            if (contestTime.uploadEtime.Value<contestTime.reviewStime.Value)
                                             {
                                             {
-                                                contest.review.stime=reviewStime.GetInt64();
+                                                contest.upload.etime=contestTime.uploadEtime.Value;
                                             }
                                             }
                                             else
                                             else
                                             {
                                             {
-                                                return Ok(new { code = 3, msg = "评审时间不能早于作品上传时间!" });
+                                                return Ok(new { code =3, msg = "报名结束时间不能晚于评审开始时间!" });
                                             }
                                             }
                                         }
                                         }
                                         else
                                         else
                                         {
                                         {
-                                            return Ok(new { code = 4, msg = "未设置作品上传模块!" });
+                                            contest.upload.etime=contestTime.uploadEtime.Value;
+                                        }
+                                        if (contestTime.uploadEtime.Value> contestTime.uploadStime.Value)
+                                        {
+                                            contest.upload.stime=contestTime.uploadStime.Value;
+                                        }
+                                        else
+                                        {
+                                            return Ok(new { code = 4, msg = "报名开始时间不能早于报名结束时间!" });
+                                        }
+                                    }
+                                    if (_contestUpdate.TryGetProperty("updateDesc", out JsonElement desc)  && desc.ValueKind.Equals(JsonValueKind.String))
+                                    {
+                                        contest.upload.desc=desc.GetString();
+
+                                    }
+                                    if (_contestUpdate.TryGetProperty("fileType", out JsonElement fileType)  && fileType.ValueKind.Equals(JsonValueKind.Array))
+                                    {
+                                        if (contest.upload.fileType.IsNotEmpty())
+                                        {
+                                            contest.upload.fileType=fileType.ToObject<List<string>>();
                                         }
                                         }
                                     }
                                     }
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("reviewEtime", out JsonElement reviewEtime)  && reviewEtime.ValueKind.Equals(JsonValueKind.Number))
+
+                                if (contest.modules.Contains("review")  && contest.review!= null)
                                 {
                                 {
-                                    //评审时间不能早于作品上传结束时间的处理
-                                    if (contest.modules.Contains("review")  && contest.review!= null)
+
+                                    if (contestTime.reviewStime.HasValue  &&contestTime.reviewEtime.HasValue)
                                     {
                                     {
-                                        if (contest.modules.Contains("upload") &&contest.upload!= null)
+                                        if (contestTime.scoreStime.HasValue)
                                         {
                                         {
-                                            if (contest.upload.etime<reviewEtime.GetInt64()   && contest.review.stime<reviewEtime.GetInt64())
+                                            if (contestTime.reviewEtime.Value<contestTime.scoreStime.Value)
                                             {
                                             {
-                                                contest.review.etime=reviewEtime.GetInt64();
+                                                contest.review.etime=contestTime.reviewEtime.Value;
                                             }
                                             }
                                             else
                                             else
                                             {
                                             {
-                                                return Ok(new { code = 3, msg = "评审时间不能早于作品上传结束时间!" });
+                                                return Ok(new { code = 5, msg = "评审结束时间不能晚于成绩公布开始时间!" });
                                             }
                                             }
                                         }
                                         }
                                         else
                                         else
                                         {
                                         {
-                                            return Ok(new { code = 4, msg = "未设置作品上传模块!" });
+                                            contest.review.etime=contestTime.reviewEtime.Value;
+                                        }
+                                        if (contestTime.reviewEtime.Value> contestTime.reviewStime.Value)
+                                        {
+                                            contest.review.stime=contestTime.reviewStime.Value;
+                                        }
+                                        else
+                                        {
+                                            return Ok(new { code = 6, msg = "评审开始时间不能早于评审结束时间!" });
                                         }
                                         }
                                     }
                                     }
                                 }
                                 }
-                                if (_contestUpdate.TryGetProperty("scoreStime", out JsonElement scoreStime)  && scoreStime.ValueKind.Equals(JsonValueKind.Number))
+
+                                if (contest.modules.Contains("score")  && contest.score!= null)
                                 {
                                 {
-                                    //评审时间不能早于作品上传结束时间的处理
-                                    if (contest.modules.Contains("score")  && contest.score!= null)
+
+                                    if (contestTime.scoreStime.HasValue  &&contestTime.scoreEtime.HasValue)
                                     {
                                     {
-                                        if (contest.modules.Contains("review") &&contest.review!= null)
+                                        if (contestTime.reviewEtime.HasValue)
                                         {
                                         {
-                                            if (contest.review.etime<scoreStime.GetInt64())
+                                            if (contestTime.reviewEtime.Value<contestTime.scoreStime.Value)
                                             {
                                             {
-                                                contest.score.stime=scoreStime.GetInt64();
+                                                contest.score.stime=contestTime.scoreStime.Value;
                                             }
                                             }
                                             else
                                             else
                                             {
                                             {
-                                                return Ok(new { code = 5, msg = "作品公布时间不能早于作品评审结束时间!" });
+                                                return Ok(new { code = 7, msg = "成绩公布开始时间不能早于评审结束时间!" });
                                             }
                                             }
                                         }
                                         }
                                         else
                                         else
                                         {
                                         {
-                                            return Ok(new { code = 6, msg = "未设置作品评审模块!" });
+                                            contest.score.stime=contestTime.scoreStime.Value;
                                         }
                                         }
-                                    }
-
-                                }
-                                if (_contestUpdate.TryGetProperty("scoreEtime", out JsonElement scoreEtime)  && scoreEtime.ValueKind.Equals(JsonValueKind.Number))
-                                {  //评审时间不能早于作品上传结束时间的处理
-                                    if (contest.modules.Contains("score")  && contest.score!= null)
-                                    {
-                                        if (contest.modules.Contains("review") &&contest.review!= null)
+                                        if (contestTime.scoreEtime.Value> contestTime.scoreStime.Value)
                                         {
                                         {
-                                            if (contest.review.etime<scoreStime.GetInt64() && contest.score.stime<scoreEtime.GetInt64())
-                                            {
-                                                contest.score.etime=scoreEtime.GetInt64();
-                                            }
-                                            else
-                                            {
-                                                return Ok(new { code = 5, msg = "作品公布时间不能早于作品评审结束时间!" });
-                                            }
+                                            contest.score.etime=contestTime.scoreEtime.Value;
                                         }
                                         }
                                         else
                                         else
                                         {
                                         {
-                                            return Ok(new { code = 6, msg = "未设置作品评审模块!" });
+                                            return Ok(new { code = 8, msg = "成绩公布结束时间不能晚于成绩公布开始时间!" });
                                         }
                                         }
                                     }
                                     }
                                 }
                                 }
@@ -609,7 +600,7 @@ namespace TEAMModelOS.Controllers
                             }
                             }
                             else
                             else
                             {
                             {
-                                return Ok(new { code = 1, msg = "赛课模块信息未完善!" });
+                                return Ok(new { code = 9, msg = "赛课模块信息未完善!" });
                             }
                             }
                         }
                         }
                     //修改活动基本信息
                     //修改活动基本信息