LingxinMeng 1 vuosi sitten
vanhempi
commit
f11370bc71

+ 15 - 4
amd64/web_server/handler/h_exam.go

@@ -50,8 +50,11 @@ func Tick(c *gin.Context) {
 	_, _ = fmt.Sscanf(numStr, "%e", &positionY)
 	_, _ = fmt.Sscanf(numStr, "%e", &positionY)
 	if !util.ContainsKey(cacheTeamName, teamName) && math.Abs(positionX-InitialPositionX) < 5.00 && math.Abs(positionY-InitialPositionY) < 5.00 { // (在起点开始)
 	if !util.ContainsKey(cacheTeamName, teamName) && math.Abs(positionX-InitialPositionX) < 5.00 && math.Abs(positionY-InitialPositionY) < 5.00 { // (在起点开始)
 		sqlTemplate, _ := util.ReadFile(c_db.SqlFilesMap["exam-insert-begin_time-and-topic-by-team_name.sql"])
 		sqlTemplate, _ := util.ReadFile(c_db.SqlFilesMap["exam-insert-begin_time-and-topic-by-team_name.sql"])
-		stage := "表演赛"
-		if time.Now().After(trialBegin) && time.Now().Before(trialEnd) {
+
+		stage := ""
+		if time.Now().Before(trialBegin) {
+			stage = "表演赛"
+		} else if time.Now().After(trialBegin) && time.Now().Before(trialEnd) {
 			stage = "预赛"
 			stage = "预赛"
 		} else {
 		} else {
 			stage = "决赛"
 			stage = "决赛"
@@ -134,16 +137,24 @@ func ExamEndTicker() {
 						c_log.GlobalLogger.Error("数据库查询报错:", err)
 						c_log.GlobalLogger.Error("数据库查询报错:", err)
 						return
 						return
 					}
 					}
-					c_log.GlobalLogger.Info("数据库查询成功:", result)
 					if !result[0].EndTime.Equal(defaultTime) {
 					if !result[0].EndTime.Equal(defaultTime) {
 						c_log.GlobalLogger.Error("赛队", teamName, "考试已结束!")
 						c_log.GlobalLogger.Error("赛队", teamName, "考试已结束!")
 						return
 						return
 					}
 					}
 					// 更新到数据库
 					// 更新到数据库
-					sqlTemplate, _ := util.ReadFile(c_db.SqlFilesMap["exam-update-end_time-by-team_name.sql"])
+					stage := ""
+					if time.Now().Before(trialBegin) {
+						stage = "表演赛"
+					} else if time.Now().After(trialBegin) && time.Now().Before(trialEnd) {
+						stage = "预赛"
+					} else {
+						stage = "决赛"
+					}
+					sqlTemplate, _ := util.ReadFile(c_db.SqlFilesMap["exam-update-end_time-by-team_name-and-topic.sql"])
 					if err := c_db.DoTx(sqlTemplate, []any{
 					if err := c_db.DoTx(sqlTemplate, []any{
 						time.Now(),
 						time.Now(),
 						teamName,
 						teamName,
+						stage,
 					}); err != nil {
 					}); err != nil {
 						c_log.GlobalLogger.Error("插入数据报错:", err)
 						c_log.GlobalLogger.Error("插入数据报错:", err)
 						return
 						return

+ 2 - 0
amd64/web_server/sql/exam-update-end_time-by-team_name-and-topic.sql

@@ -0,0 +1,2 @@
+update exam set end_time = ? where team_name = ?
+

+ 1 - 1
amd64/web_server/sql/exam-update-end_time-by-team_name.sql

@@ -1,2 +1,2 @@
-update exam set end_time = ? where team_name = ?
+update exam set end_time = ? where team_name = ? and topic = ?