From 6ab1fa8fd76482bdd6f35d6f0a84477757cb5c91 Mon Sep 17 00:00:00 2001 From: qiwang <1364512070@qq.com> Date: Wed, 9 Oct 2024 11:51:20 +0800 Subject: [PATCH] fix: add instance center Add fuzzy queries of ai --- desc/inference/inference.api | 1 + .../logic/inference/instancecenterlogic.go | 51 ++++++++++++------- internal/types/types.go | 1 + 3 files changed, 35 insertions(+), 18 deletions(-) diff --git a/desc/inference/inference.api b/desc/inference/inference.api index 13ccda23..68abcc21 100644 --- a/desc/inference/inference.api +++ b/desc/inference/inference.api @@ -37,6 +37,7 @@ type ( InstanceCenterReq{ InstanceType int32 `form:"instance_type"` InstanceClass string `form:"instance_class,optional"` + InstanceName string `form:"instance_name,optional"` } InstanceCenterResp { InstanceCenterList []InstanceCenterList `json:"instanceCenterList" copier:"InstanceCenterList"` diff --git a/internal/logic/inference/instancecenterlogic.go b/internal/logic/inference/instancecenterlogic.go index dd7deacf..4135c46e 100644 --- a/internal/logic/inference/instancecenterlogic.go +++ b/internal/logic/inference/instancecenterlogic.go @@ -32,30 +32,45 @@ func (l *InstanceCenterLogic) InstanceCenter(req *types.InstanceCenterReq) (*typ var InstanceCenterLists []types.InstanceCenterList if req.InstanceType == 0 { - l.svcCtx.DbEngin.Raw("select * from ai_instance_center").Scan(&InstanceCenter) + tx := l.svcCtx.DbEngin.Raw("select * from ai_instance_center where instance_name like CONCAT(?, '%')", req.InstanceName).Scan(&InstanceCenter) + if tx.Error == nil { + logx.Error("find nil") + } } else if req.InstanceType != 0 && req.InstanceClass == "" { - l.svcCtx.DbEngin.Raw("select * from ai_instance_center where instance_type = ? ", req.InstanceType).Scan(&InstanceCenter) + tx := l.svcCtx.DbEngin.Raw("select * from ai_instance_center where instance_type = ? and instance_name like CONCAT(?, '%')", req.InstanceType, req.InstanceName).Scan(&InstanceCenter) + if tx.Error == nil { + logx.Error("find nil") + + } } else { - l.svcCtx.DbEngin.Raw("select * from ai_instance_center where instance_type = ? and instance_class = ?", req.InstanceType, req.InstanceClass).Scan(&InstanceCenter) + tx := l.svcCtx.DbEngin.Raw("select * from ai_instance_center where instance_type = ? and instance_class = ? and instance_name like CONCAT(?, '%')", req.InstanceType, req.InstanceClass, req.InstanceName).Scan(&InstanceCenter) + if tx.Error == nil { + logx.Error("find nil") + } } - var instanceCenter = *InstanceCenter + if InstanceCenter == nil { + resp.Code = 200 + resp.Msg = "No content found" + } else { + var instanceCenter = *InstanceCenter - for _, instanceCenter := range instanceCenter { - var instanceCenterlist types.InstanceCenterList - instanceCenterlist.InstanceName = instanceCenter.InstanceName - instanceCenterlist.InstanceType = instanceCenter.InstanceType - instanceCenterlist.InstanceClass = instanceCenter.InstanceClass - instanceCenterlist.Description = instanceCenter.Description - instanceCenterlist.InstanceClassChinese = instanceCenter.InstanceClassChinese - instanceCenterlist.Version = instanceCenter.Version - instanceCenterlist.LogoPath = instanceCenter.LogoPath - InstanceCenterLists = append(InstanceCenterLists, instanceCenterlist) + for _, instanceCenter := range instanceCenter { + var instanceCenterlist types.InstanceCenterList + instanceCenterlist.InstanceName = instanceCenter.InstanceName + instanceCenterlist.InstanceType = instanceCenter.InstanceType + instanceCenterlist.InstanceClass = instanceCenter.InstanceClass + instanceCenterlist.Description = instanceCenter.Description + instanceCenterlist.InstanceClassChinese = instanceCenter.InstanceClassChinese + instanceCenterlist.Version = instanceCenter.Version + instanceCenterlist.LogoPath = instanceCenter.LogoPath + InstanceCenterLists = append(InstanceCenterLists, instanceCenterlist) + } + resp.Code = 200 + resp.Msg = "success" + resp.InstanceCenterList = InstanceCenterLists + resp.TotalCount = len(InstanceCenterLists) } - resp.Code = 200 - resp.Msg = "success" - resp.InstanceCenterList = InstanceCenterLists - resp.TotalCount = len(InstanceCenterLists) return &resp, nil } diff --git a/internal/types/types.go b/internal/types/types.go index 9bef1f4a..5871c4b0 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -3668,6 +3668,7 @@ type InstanceCenterList struct { type InstanceCenterReq struct { InstanceType int32 `form:"instance_type"` InstanceClass string `form:"instance_class,optional"` + InstanceName string `form:"instance_name,optional"` } type InstanceCenterResp struct {