提交 ad940d59 authored 作者: Jack Jie's avatar Jack Jie

feat:查询服务接入方Sql中增加schemaName参数

上级 1781c96e
...@@ -153,6 +153,9 @@ func main() { ...@@ -153,6 +153,9 @@ func main() {
log.Fatalf("failed to connect database: %v", err) log.Fatalf("failed to connect database: %v", err)
} }
// 启用 SQL 日志输出
postgres_db = postgres_db.Debug()
// 获取服务相关信息 // 获取服务相关信息
serviceMap, err := GetServiceThemeInfo(config.Postgres.SchemaName, postgres_db) serviceMap, err := GetServiceThemeInfo(config.Postgres.SchemaName, postgres_db)
if err != nil { if err != nil {
...@@ -160,7 +163,7 @@ func main() { ...@@ -160,7 +163,7 @@ func main() {
} }
// 获取系统名称 // 获取系统名称
systemMap, err := GetServiceAccessInfo(postgres_db) systemMap, err := GetServiceAccessInfo(config.Postgres.SchemaName, postgres_db)
if err != nil { if err != nil {
log.Fatalf("failed to get service access builder info: %v", err) log.Fatalf("failed to get service access builder info: %v", err)
} }
......
...@@ -78,17 +78,20 @@ type AccessBuilder struct { ...@@ -78,17 +78,20 @@ type AccessBuilder struct {
} }
// GetServiceAccessInfo 查询服务接入信息和建设单位信息 // GetServiceAccessInfo 查询服务接入信息和建设单位信息
func GetServiceAccessInfo(db *gorm.DB) (map[string]string, error) { func GetServiceAccessInfo(schemaName string, db *gorm.DB) (map[string]string, error) {
var results []struct { var results []struct {
AccessUuid string AccessUuid string
SystemName string SystemName string
} }
serviceAccessTable := schemaName + ".service_access"
accessBuilderTable := schemaName + ".access_builder"
// 执行查询,关联 service_access 和 access_builder 表,并且保证各个表的 del_flag = 0 // 执行查询,关联 service_access 和 access_builder 表,并且保证各个表的 del_flag = 0
err := db.Table("service_access"). err := db.Table(serviceAccessTable).
Select("service_access.access_uuid, access_builder.system_name"). Select("service_access.access_uuid, access_builder.system_name").
Joins("JOIN access_builder ON service_access.builder_id = access_builder.id"). Joins("JOIN " + accessBuilderTable + " ON " + serviceAccessTable + ".builder_id = " + accessBuilderTable + ".id").
Where("service_access.del_flag = 0 AND access_builder.del_flag = 0"). Where(accessBuilderTable + ".del_flag = 0 AND " + accessBuilderTable + ".del_flag = 0").
Scan(&results).Error Scan(&results).Error
if err != nil { if err != nil {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论