Files
web_hgdjc_server/app/api/healthapi/health.go
T
2026-11-07 10:46:18 +08:00

43 lines
1022 B
Go

package healthapi
import (
"videoweb/app/api/proto"
"videoweb/app/service/healthser"
"videoweb/pub/common/log"
"videoweb/pub/common/srvdef"
"github.com/gin-gonic/gin"
)
// HealthCheck 健康检查接口
func HealthCheck(ctx *gin.Context) {
req := &proto.HealthCheckRequest{}
if err := ctx.ShouldBindJSON(req); err != nil {
log.Warn("health check bind error", log.E(err))
respond(ctx, srvdef.ErrParamError, err.Error(), nil)
return
}
log.Info("health check request", log.Any("req", req))
data, serr := healthser.HealthCheck(ctx.Request.Context(), req)
if serr != nil {
log.Warn("health check failed", log.E(serr), log.Any("req", req))
respond(ctx, serr.Code, serr.GetMsg(), nil)
return
}
log.Info("health check response", log.Any("resp", data))
respond(ctx, srvdef.Success, "success", data)
}
func respond(ctx *gin.Context, code srvdef.CodeType, msg string, data interface{}) {
if msg == "" {
msg = code.Msg()
}
ctx.JSON(200, gin.H{
"code": code,
"msg": msg,
"data": data,
})
}