package controllers import ( models2 "cmii-uav-watchdog-common/models" "cmii-uav-watchdog/models" "cmii-uav-watchdog/services" "net/http" "github.com/gin-gonic/gin" ) // HeartbeatController 心跳控制器 type HeartbeatController struct { heartbeatService *services.HeartbeatService } // NewHeartbeatController 创建心跳控制器 func NewHeartbeatController() *HeartbeatController { return &HeartbeatController{ heartbeatService: services.NewHeartbeatService(), } } // HandleHeartbeat 处理心跳请求 func (hc *HeartbeatController) HandleHeartbeat(c *gin.Context) { var req models2.HeartbeatRequest if err := c.ShouldBindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, models.Response{ Code: 400, Message: "无效的请求参数", Data: nil, }) return } // 处理心跳 resp, err := hc.heartbeatService.ProcessHeartbeat(req) if err != nil { c.JSON(http.StatusInternalServerError, models.Response{ Code: 500, Message: "处理心跳失败: " + err.Error(), Data: nil, }) return } c.JSON(http.StatusOK, models.Response{ Code: 200, Message: "处理心跳成功", Data: resp, }) }