// Code scaffolded by goctl. Safe to edit. // goctl 1.10.2 package logic import ( "context" "udeServer/internal/svc" "udeServer/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type DbPingLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewDbPingLogic(ctx context.Context, svcCtx *svc.ServiceContext) *DbPingLogic { return &DbPingLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *DbPingLogic) DbPing() (resp *types.DbPingResponse, err error) { var info struct { Version string `db:"version"` Database string `db:"db_name"` } err = l.svcCtx.DB.QueryRowCtx(l.ctx, &info, "SELECT VERSION() AS version, DATABASE() AS db_name") if err != nil { l.Errorf("ping mysql failed: %v", err) return nil, err } return &types.DbPingResponse{ Ok: true, Version: info.Version, Database: info.Database, }, nil }