merge: main to multi-tenant

This commit is contained in:
2024-06-28 13:53:17 +08:00
parent 9bcaf996bb
commit 2aeaffb48f
10 changed files with 192 additions and 99 deletions

View File

@@ -1,6 +1,9 @@
package controller
import (
"fmt"
"be.ems/src/framework/datasource"
"be.ems/src/framework/i18n"
"be.ems/src/framework/utils/ctx"
"be.ems/src/framework/utils/date"
@@ -62,7 +65,6 @@ func (s *PerfKPIController) GoldKPI(c *gin.Context) {
return
}
querys.RmUID = neInfo.RmUID
log.Tracef("neInfo.RmUID=%s", neInfo.RmUID)
} else { // tenant, useName -> tenantID
var userName, rmUID string
userName = ctx.LoginUserToUserName(c)
@@ -74,16 +76,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')`, userName)
_, err := datasource.DefaultDB().SQL(selectSQL).Cols("rm_uid").Get(&rmUID)
err := datasource.DefaultDB().Raw(selectSQL).Scan(&rmUID).Error
if err != nil {
c.JSON(200, result.ErrMsgFmt("DB Get error: %s", err.Error()))
c.JSON(200, result.ErrMsgFmt("DB Get error: %v", err))
return
} else if rmUID == "" {
c.JSON(200, result.ErrMsgFmt("NOT FOUND target NE"))
return
}
querys.RmUID = rmUID
log.Tracef("rmUID=%s", rmUID)
}
// 查询数据

View File

@@ -60,7 +60,7 @@ func (s *UDMSubController) List(c *gin.Context) {
querys := ctx.QueryMap(c)
querys["neId"] = ""
querys["userName"] = ctx.LoginUserToUserName(c)
data := s.udmSubService.Page(querys)
data := s.udmSubService.SelectPage(querys)
c.JSON(200, result.Ok(data))
}

View File

@@ -250,10 +250,11 @@ func (r *UDMSubImpl) DeletePrefixByIMSI(neId, imsi string) int64 {
func (r *UDMSubImpl) SetTenantID(subArr *[]model.UDMSub) {
for s := 0; s < len(*subArr); s++ {
var tenantID []string
err := dborm.DefaultDB().Table("sys_tenant").
Where("status='1' and tenancy_type='IMSI' and ? like tenancy_key", (*subArr)[s].Imsi).Cols("parent_id").Distinct().Find(&tenantID)
err := datasource.DefaultDB().Table("sys_tenant").
Where("status='1' and tenancy_type='IMSI' and ? like tenancy_key", (*subArr)[s].IMSI).
Select("parent_id").Distinct().Find(&tenantID)
if err != nil {
log.Errorf("Find tenant_id err => %v", err)
logger.Errorf("Find tenant_id err => %v", err)
continue
}
if len(tenantID) > 0 {

View File

@@ -48,7 +48,7 @@ func (s *SysLogOperateController) List(c *gin.Context) {
if s.IsTenancyUser(userName) {
querys["operName"] = userName
}
data := s.SysLogOperateService.SelectSysLogOperatePage(querys)
// data := s.SysLogOperateService.SelectSysLogOperatePage(querys)
dataScopeSQL := "" // ctx.LoginUserToDataScopeSQL(c, "d", "u")
data := s.SysLogOperateService.SelectSysLogOperatePage(querys, dataScopeSQL)
rows := data["rows"].([]model.SysLogOperate)