package aliasmanagement import ( "context" "fmt" "git.x2erp.com/qdy/go-base/ctx" "git.x2erp.com/qdy/go-base/logger" "git.x2erp.com/qdy/go-base/model/response" "git.x2erp.com/qdy/go-base/util" "git.x2erp.com/qdy/go-db/factory/database" "git.x2erp.com/qdy/go-svc-configure/internal/tables" ) // GetTableFieldAliasDetail 获取字段别名字典详情 func GetTableFieldAliasDetail(id string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[TableFieldAliasDetail] { logger.Debug(fmt.Sprintf("GetTableFieldAliasDetail-开始获取字段别名字典详情: %s", id)) // 参数验证 if id == "" { logger.ErrorC(reqCtx, "ID不能为空") return util.CreateErrorResult[TableFieldAliasDetail]("ID不能为空", reqCtx) } // 获取数据库连接 db := dbFactory.GetDB() // 查询字段别名信息 var tableFieldAlias tables.DicTableFieldAliasDB query := ` SELECT id, field_id, table_id, field_name, field_alias, description, where, created_at, updated_at, deleted_at FROM dic_table_field_alias WHERE id = ? AND deleted_at IS NULL ` err := db.GetContext(ctx, &tableFieldAlias, query, id) if err != nil { logger.ErrorC(reqCtx, fmt.Sprintf("查询字段别名字典失败: %v", err)) return util.CreateErrorResult[TableFieldAliasDetail](fmt.Sprintf("查询字段别名字典失败: %v", err), reqCtx) } logger.Debug(fmt.Sprintf("获取到字段别名字典详情: %s", id)) // 构建返回结果 detail := TableFieldAliasDetail{ TableFieldAlias: tableFieldAlias, } return util.CreateSuccessResultData[TableFieldAliasDetail](detail, reqCtx) } // GetTableFieldAliasByFieldID 根据字段ID获取字段别名字典 func GetTableFieldAliasByFieldID(fieldID string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.DicTableFieldAliasDB] { logger.Debug(fmt.Sprintf("GetTableFieldAliasByFieldID-开始根据字段ID获取字段别名字典: %s", fieldID)) // 参数验证 if fieldID == "" { logger.ErrorC(reqCtx, "字段ID不能为空") return util.CreateErrorResult[[]tables.DicTableFieldAliasDB]("字段ID不能为空", reqCtx) } // 获取数据库连接 db := dbFactory.GetDB() // 查询字段别名信息 var tableFieldAliases []tables.DicTableFieldAliasDB query := ` SELECT id, field_id, table_id, field_name, field_alias, description, where, created_at, updated_at, deleted_at FROM dic_table_field_alias WHERE field_id = ? AND deleted_at IS NULL ORDER BY field_alias ` err := db.SelectContext(ctx, &tableFieldAliases, query, fieldID) if err != nil { logger.ErrorC(reqCtx, fmt.Sprintf("查询字段别名字典失败: %v", err)) return util.CreateErrorResult[[]tables.DicTableFieldAliasDB](fmt.Sprintf("查询字段别名字典失败: %v", err), reqCtx) } logger.Debug(fmt.Sprintf("获取到字段别名字典: %s, 数量: %d", fieldID, len(tableFieldAliases))) return util.CreateSuccessResultData[[]tables.DicTableFieldAliasDB](tableFieldAliases, reqCtx) } // GetTableFieldAliasByTableID 根据表ID获取字段别名字典 func GetTableFieldAliasByTableID(tableID string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.DicTableFieldAliasDB] { logger.Debug(fmt.Sprintf("GetTableFieldAliasByTableID-开始根据表ID获取字段别名字典: %s", tableID)) // 参数验证 if tableID == "" { logger.ErrorC(reqCtx, "表ID不能为空") return util.CreateErrorResult[[]tables.DicTableFieldAliasDB]("表ID不能为空", reqCtx) } // 获取数据库连接 db := dbFactory.GetDB() // 查询字段别名信息 var tableFieldAliases []tables.DicTableFieldAliasDB query := ` SELECT id, field_id, table_id, field_name, field_alias, description, where, created_at, updated_at, deleted_at FROM dic_table_field_alias WHERE table_id = ? AND deleted_at IS NULL ORDER BY field_name, field_alias ` err := db.SelectContext(ctx, &tableFieldAliases, query, tableID) if err != nil { logger.ErrorC(reqCtx, fmt.Sprintf("查询字段别名字典失败: %v", err)) return util.CreateErrorResult[[]tables.DicTableFieldAliasDB](fmt.Sprintf("查询字段别名字典失败: %v", err), reqCtx) } logger.Debug(fmt.Sprintf("获取到表字段别名字典: %s, 数量: %d", tableID, len(tableFieldAliases))) return util.CreateSuccessResultData[[]tables.DicTableFieldAliasDB](tableFieldAliases, reqCtx) }