feat: 基站状态列表关联查询租户名称
This commit is contained in:
49
src/modules/network_data/repository/sys_tenant.go
Normal file
49
src/modules/network_data/repository/sys_tenant.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"be.ems/src/framework/datasource"
|
||||
"be.ems/src/framework/logger"
|
||||
"be.ems/src/framework/utils/parse"
|
||||
)
|
||||
|
||||
// 实例化数据层 SysTenant 结构体
|
||||
var NewSysTenant = &SysTenant{}
|
||||
|
||||
// SysTenant 租户表 数据层处理
|
||||
type SysTenant struct{}
|
||||
|
||||
// Query 查询租户信息 ID 名称
|
||||
// radioKey 5G_2 4G_3
|
||||
func (r SysTenant) Query(query map[string]string) (int64, string) {
|
||||
// 查询条件拼接
|
||||
var conditions []string
|
||||
var params []any
|
||||
if v, ok := query["radioKey"]; ok && v != "" {
|
||||
conditions = append(conditions, "st2.tenancy_type = 'RADIO' AND st2.tenancy_key = ?")
|
||||
params = append(params, v)
|
||||
}
|
||||
|
||||
// 构建查询条件语句
|
||||
whereSql := ""
|
||||
if len(conditions) > 0 {
|
||||
whereSql += " where st2.status = '1' AND " + strings.Join(conditions, " and ")
|
||||
} else {
|
||||
return 0, ""
|
||||
}
|
||||
|
||||
// 查询数据
|
||||
querySql := "SELECT st1.tenant_id, st1.tenant_name FROM sys_tenant st1 JOIN sys_tenant st2 ON st1.tenant_id = st2.parent_id " + whereSql
|
||||
results, err := datasource.RawDB("", querySql, params)
|
||||
if err != nil {
|
||||
logger.Errorf("query err %v", err)
|
||||
return 0, ""
|
||||
}
|
||||
if len(results) > 0 {
|
||||
v := results[0]
|
||||
return parse.Number(v["tenant_id"]), fmt.Sprint(v["tenant_name"])
|
||||
}
|
||||
return 0, ""
|
||||
}
|
||||
Reference in New Issue
Block a user