fix: kpi support multiple upf for a tenant

This commit is contained in:
2024-10-24 20:31:19 +08:00
parent 573bb7d3e6
commit 10ddb32576
2 changed files with 13 additions and 6 deletions

View File

@@ -2,6 +2,7 @@ package controller
import (
"fmt"
"strings"
"be.ems/src/framework/datasource"
"be.ems/src/framework/i18n"
@@ -53,7 +54,8 @@ func (s *PerfKPIController) GoldKPI(c *gin.Context) {
}
querys.RmUID = neInfo.RmUID
} else { // tenant, useName -> tenantID
var userName, rmUID string
var userName string
var rmUIDs []string
userName = ctx.LoginUserToUserName(c)
// multi-tenancy, useName->tenantID->UPF.001(NEType.NEID)->rmUID
// selectSQL := fmt.Sprintf(`SELECT rm_uid FROM ne_info n WHERE CONCAT(n.ne_type,'.',n.ne_id) =
@@ -63,15 +65,15 @@ func (s *PerfKPIController) GoldKPI(c *gin.Context) {
// multi-tenancy, useName->tenantID->rmUID
selectSQL := fmt.Sprintf(`SELECT t.tenancy_key FROM sys_tenant t WHERE t.status='1' AND t.tenancy_type='UPF' AND t.parent_id =
(SELECT u.tenant_id FROM sys_user u WHERE u.user_name='%s' and u.status=1)`, userName)
err := datasource.DefaultDB().Raw(selectSQL).Scan(&rmUID).Error
err := datasource.DefaultDB().Raw(selectSQL).Scan(&rmUIDs).Error
if err != nil {
c.JSON(200, result.ErrMsgFmt("DB Get error: %v", err))
return
} else if rmUID == "" {
} else if len(rmUIDs) == 0 {
c.JSON(200, result.ErrMsgFmt("NOT FOUND target NE"))
return
}
querys.RmUID = rmUID
querys.RmUID = strings.Join(rmUIDs, ",")
}
// 查询数据