fix: kpi support multi-tenant
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package result
|
package result
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"be.ems/src/framework/constants/result"
|
"be.ems/src/framework/constants/result"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -54,13 +56,21 @@ func Err(v map[string]any) map[string]any {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 响应失败结果信息
|
// 响应失败结果信息
|
||||||
func ErrMsg(msg string) map[string]any {
|
func ErrMsg(msg string, fmt ...any) map[string]any {
|
||||||
args := make(map[string]any)
|
args := make(map[string]any)
|
||||||
args["code"] = result.CODE_ERROR
|
args["code"] = result.CODE_ERROR
|
||||||
args["msg"] = msg
|
args["msg"] = msg
|
||||||
return args
|
return args
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 响应失败结果信息
|
||||||
|
func ErrMsgFmt(msg string, args ...any) map[string]any {
|
||||||
|
argv := make(map[string]any)
|
||||||
|
argv["code"] = result.CODE_ERROR
|
||||||
|
argv["msg"] = fmt.Sprintf(msg, args...)
|
||||||
|
return argv
|
||||||
|
}
|
||||||
|
|
||||||
// 响应失败结果数据
|
// 响应失败结果数据
|
||||||
func ErrData(data any) map[string]any {
|
func ErrData(data any) map[string]any {
|
||||||
args := make(map[string]any)
|
args := make(map[string]any)
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
package controller
|
package controller
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"be.ems/lib/core/datasource"
|
||||||
"be.ems/lib/core/utils/date"
|
"be.ems/lib/core/utils/date"
|
||||||
|
"be.ems/lib/log"
|
||||||
"be.ems/src/framework/i18n"
|
"be.ems/src/framework/i18n"
|
||||||
"be.ems/src/framework/utils/ctx"
|
"be.ems/src/framework/utils/ctx"
|
||||||
"be.ems/src/framework/vo/result"
|
"be.ems/src/framework/vo/result"
|
||||||
@@ -54,13 +58,33 @@ func (s *PerfKPIController) GoldKPI(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询网元获取IP
|
if querys.NeID != "" {
|
||||||
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(querys.NeType, querys.NeID)
|
// 查询网元获取IP
|
||||||
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
neInfo := s.neInfoService.SelectNeInfoByNeTypeAndNeID(querys.NeType, querys.NeID)
|
||||||
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
if neInfo.NeId != querys.NeID || neInfo.IP == "" {
|
||||||
return
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
querys.RmUID = neInfo.RmUID
|
||||||
|
log.Tracef("neInfo.RmUID=%s", neInfo.RmUID)
|
||||||
|
} else { // tenant, useName -> tenantID
|
||||||
|
var userName, rmUID 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) =
|
||||||
|
(SELECT t.tenancy_key FROM sys_tenant t WHERE t.status='1' AND t.tenancy_type='NE' AND t.parent_id =
|
||||||
|
(SELECT u.tenant_id FROM sys_user u WHERE u.user_name='%s'))`, userName)
|
||||||
|
_, err := datasource.DefaultDB().SQL(selectSQL).Cols("rm_uid").Get(&rmUID)
|
||||||
|
if err != nil {
|
||||||
|
c.JSON(200, result.ErrMsgFmt("DB Get error: %s", err.Error()))
|
||||||
|
return
|
||||||
|
} else if rmUID == "" {
|
||||||
|
c.JSON(200, result.ErrMsgFmt("NOT FOUND target NE"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
querys.RmUID = rmUID
|
||||||
|
log.Tracef("rmUID=%s", rmUID)
|
||||||
}
|
}
|
||||||
querys.RmUID = neInfo.RmUID
|
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
kpiData := s.perfKPIService.SelectGoldKPI(querys)
|
kpiData := s.perfKPIService.SelectGoldKPI(querys)
|
||||||
|
|||||||
@@ -12,8 +12,9 @@ type GoldKPITitle struct {
|
|||||||
|
|
||||||
// GoldKPIQuery 黄金指标查询参数结构体
|
// GoldKPIQuery 黄金指标查询参数结构体
|
||||||
type GoldKPIQuery struct {
|
type GoldKPIQuery struct {
|
||||||
NeType string `form:"neType" binding:"required"`
|
NeType string `form:"neType" binding:"required"`
|
||||||
NeID string `form:"neId" binding:"required"`
|
//NeID string `form:"neId" binding:"required"`
|
||||||
|
NeID string `form:"neId"`
|
||||||
StartTime string `form:"startTime" binding:"required"`
|
StartTime string `form:"startTime" binding:"required"`
|
||||||
EndTime string `form:"endTime" binding:"required"`
|
EndTime string `form:"endTime" binding:"required"`
|
||||||
Interval int64 `form:"interval" binding:"required"`
|
Interval int64 `form:"interval" binding:"required"`
|
||||||
|
|||||||
Reference in New Issue
Block a user