| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- 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)
- }
|