h_exam.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package handler
  2. import (
  3. "cicv-data-closedloop/amd64/web_server/entity"
  4. "cicv-data-closedloop/common/config/c_db"
  5. "cicv-data-closedloop/common/config/c_log"
  6. commonEntity "cicv-data-closedloop/common/entity"
  7. "cicv-data-closedloop/common/util"
  8. "github.com/gin-gonic/gin"
  9. "net/http"
  10. "time"
  11. )
  12. // 考试开始时间
  13. func Begin(c *gin.Context) {
  14. param := new(entity.ExamPAO)
  15. // 映射到结构体
  16. if err := c.ShouldBindJSON(&param); err != nil {
  17. c_log.GlobalLogger.Error("项目启动接收请求参数报错:", err)
  18. c.JSON(http.StatusBadRequest, commonEntity.Response{
  19. Code: 500,
  20. Msg: "请求体解析失败。",
  21. })
  22. return
  23. }
  24. // 插入到数据库
  25. sqlTemplate, _ := util.ReadFile(c_db.SqlFilesMap["insert_exam.sql"])
  26. if err := c_db.DoTx(sqlTemplate, []any{
  27. param.TeamName,
  28. time.Now(),
  29. }); err != nil {
  30. c_log.GlobalLogger.Error("插入数据报错:", err)
  31. c.JSON(http.StatusBadRequest, commonEntity.Response{
  32. Code: 500,
  33. Msg: "插入数据报错。",
  34. })
  35. return
  36. }
  37. c.JSON(http.StatusOK, commonEntity.Response{
  38. Code: 200,
  39. Msg: "插入数据成功。",
  40. })
  41. }
  42. // 考试结束时间
  43. func End(c *gin.Context) {
  44. param := new(entity.ExamPAO)
  45. // 映射到结构体
  46. if err := c.ShouldBindJSON(&param); err != nil {
  47. c_log.GlobalLogger.Error("项目启动接收请求参数报错:", err)
  48. c.JSON(http.StatusBadRequest, commonEntity.Response{
  49. Code: 500,
  50. Msg: "请求体解析失败。",
  51. })
  52. return
  53. }
  54. // 1 查询指定队伍的开始时间最新的考试是否有结束时间,如果有则不在处理,如果没有则更新
  55. // 插入到数据库
  56. sqlTemplate, _ := util.ReadFile(c_db.SqlFilesMap["update.sql"])
  57. if err := c_db.DoTx(sqlTemplate, []any{
  58. time.Now(),
  59. param.TeamName,
  60. }); err != nil {
  61. c_log.GlobalLogger.Error("插入数据报错:", err)
  62. c.JSON(http.StatusBadRequest, commonEntity.Response{
  63. Code: 500,
  64. Msg: "插入数据报错。",
  65. })
  66. return
  67. }
  68. c.JSON(http.StatusOK, commonEntity.Response{
  69. Code: 200,
  70. Msg: "插入数据成功。",
  71. })
  72. }