fix: kpi support multiple upf for a tenant
This commit is contained in:
@@ -2,6 +2,7 @@ package controller
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"be.ems/src/framework/datasource"
|
"be.ems/src/framework/datasource"
|
||||||
"be.ems/src/framework/i18n"
|
"be.ems/src/framework/i18n"
|
||||||
@@ -53,7 +54,8 @@ func (s *PerfKPIController) GoldKPI(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
querys.RmUID = neInfo.RmUID
|
querys.RmUID = neInfo.RmUID
|
||||||
} else { // tenant, useName -> tenantID
|
} else { // tenant, useName -> tenantID
|
||||||
var userName, rmUID string
|
var userName string
|
||||||
|
var rmUIDs []string
|
||||||
userName = ctx.LoginUserToUserName(c)
|
userName = ctx.LoginUserToUserName(c)
|
||||||
// multi-tenancy, useName->tenantID->UPF.001(NEType.NEID)->rmUID
|
// 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) =
|
// 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
|
// 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 =
|
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)
|
(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 {
|
if err != nil {
|
||||||
c.JSON(200, result.ErrMsgFmt("DB Get error: %v", err))
|
c.JSON(200, result.ErrMsgFmt("DB Get error: %v", err))
|
||||||
return
|
return
|
||||||
} else if rmUID == "" {
|
} else if len(rmUIDs) == 0 {
|
||||||
c.JSON(200, result.ErrMsgFmt("NOT FOUND target NE"))
|
c.JSON(200, result.ErrMsgFmt("NOT FOUND target NE"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
querys.RmUID = rmUID
|
querys.RmUID = strings.Join(rmUIDs, ",")
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
|
|||||||
@@ -22,8 +22,13 @@ func (r *PerfKPIImpl) SelectGoldKPI(query model.GoldKPIQuery, kpiIds []string) [
|
|||||||
var params []any
|
var params []any
|
||||||
var tableName string = "kpi_report_"
|
var tableName string = "kpi_report_"
|
||||||
if query.RmUID != "" {
|
if query.RmUID != "" {
|
||||||
conditions = append(conditions, "gk.rm_uid = ?")
|
rmUIDs := strings.Split(query.RmUID, ",")
|
||||||
params = append(params, query.RmUID)
|
var rmUIDconditions []string
|
||||||
|
for _, rmUID := range rmUIDs {
|
||||||
|
rmUIDconditions = append(rmUIDconditions, "gk.rm_uid = ?")
|
||||||
|
params = append(params, rmUID)
|
||||||
|
}
|
||||||
|
conditions = append(conditions, "("+strings.Join(rmUIDconditions, " or ")+")")
|
||||||
}
|
}
|
||||||
if query.NeType != "" {
|
if query.NeType != "" {
|
||||||
//conditions = append(conditions, "gk.ne_type = ?")
|
//conditions = append(conditions, "gk.ne_type = ?")
|
||||||
|
|||||||
Reference in New Issue
Block a user