fix: upf kpi for tenant
This commit is contained in:
@@ -76,7 +76,8 @@ type KpiData struct {
|
||||
Granularity int8 `json:"granularity" xorm:"granularity"`
|
||||
KPIValues []KPIVal `json:"kpiValues" xorm:"json 'kpi_values'"`
|
||||
//CreatedAt int64 `json:"createdAt" xorm:"created 'created_at'"`
|
||||
CreatedAt int64 `json:"createdAt" xorm:"'created_at'"`
|
||||
CreatedAt int64 `json:"createdAt" xorm:"'created_at'"`
|
||||
TenantName string `json:"tenantName" xorm:"tenant_name"`
|
||||
}
|
||||
type KPIVal struct {
|
||||
KPIID string `json:"kpi_id" xorm:"kpi_id"`
|
||||
@@ -257,6 +258,9 @@ func PostKPIReportFromNF(w http.ResponseWriter, r *http.Request) {
|
||||
kpiData.KPIValues = append(kpiData.KPIValues, *kpiVal)
|
||||
}
|
||||
|
||||
// set tenant_name if exist
|
||||
where := fmt.Sprintf("status='1' and tenant_id=(select parent_id from sys_tenant where status='1' and tenancy_type='UPF' and tenancy_key='%s')", kpiData.RmUid)
|
||||
kpiData.TenantName, _ = dborm.XormGetSingleColStringByWhere("sys_tenant", "tenant_name", where)
|
||||
// insert kpi_report table, no session
|
||||
tableName := "kpi_report_" + strings.ToLower(kpiReport.Task.NE.NeType)
|
||||
affected, err := xEngine.Table(tableName).Insert(kpiData)
|
||||
|
||||
@@ -71,9 +71,13 @@ func (s *PerfKPIController) GoldKPI(c *gin.Context) {
|
||||
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)
|
||||
// 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='UPF' AND t.parent_id =
|
||||
// (SELECT u.tenant_id FROM sys_user u WHERE u.user_name='%s'))`, userName)
|
||||
|
||||
// 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')`, 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()))
|
||||
|
||||
Reference in New Issue
Block a user