fix: kpi support multiple upf for a tenant
This commit is contained in:
@@ -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, ",")
|
||||
}
|
||||
|
||||
// 查询数据
|
||||
|
||||
@@ -22,8 +22,13 @@ func (r *PerfKPIImpl) SelectGoldKPI(query model.GoldKPIQuery, kpiIds []string) [
|
||||
var params []any
|
||||
var tableName string = "kpi_report_"
|
||||
if query.RmUID != "" {
|
||||
conditions = append(conditions, "gk.rm_uid = ?")
|
||||
params = append(params, query.RmUID)
|
||||
rmUIDs := strings.Split(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 != "" {
|
||||
//conditions = append(conditions, "gk.ne_type = ?")
|
||||
|
||||
Reference in New Issue
Block a user