feat: 基站状态列表关联查询租户名称

This commit is contained in:
TsMask
2025-08-29 18:46:51 +08:00
parent e5d33b5a3e
commit 108c3200b7
5 changed files with 79 additions and 0 deletions

View 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, ""
}