暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

detail_table_field_alias.go 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package aliasmanagement
  2. import (
  3. "context"
  4. "fmt"
  5. "git.x2erp.com/qdy/go-base/ctx"
  6. "git.x2erp.com/qdy/go-base/logger"
  7. "git.x2erp.com/qdy/go-base/model/response"
  8. "git.x2erp.com/qdy/go-base/util"
  9. "git.x2erp.com/qdy/go-db/factory/database"
  10. "git.x2erp.com/qdy/go-svc-configure/internal/tables"
  11. )
  12. // GetTableFieldAliasDetail 获取字段别名字典详情
  13. func GetTableFieldAliasDetail(id string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[TableFieldAliasDetail] {
  14. logger.Debug(fmt.Sprintf("GetTableFieldAliasDetail-开始获取字段别名字典详情: %s", id))
  15. // 参数验证
  16. if id == "" {
  17. logger.ErrorC(reqCtx, "ID不能为空")
  18. return util.CreateErrorResult[TableFieldAliasDetail]("ID不能为空", reqCtx)
  19. }
  20. // 获取数据库连接
  21. db := dbFactory.GetDB()
  22. // 查询字段别名信息
  23. var tableFieldAlias tables.DicTableFieldAliasDB
  24. query := `
  25. SELECT id, field_id, table_id, field_name, field_alias, description, where, created_at, updated_at, deleted_at
  26. FROM dic_table_field_alias
  27. WHERE id = ? AND deleted_at IS NULL
  28. `
  29. err := db.GetContext(ctx, &tableFieldAlias, query, id)
  30. if err != nil {
  31. logger.ErrorC(reqCtx, fmt.Sprintf("查询字段别名字典失败: %v", err))
  32. return util.CreateErrorResult[TableFieldAliasDetail](fmt.Sprintf("查询字段别名字典失败: %v", err), reqCtx)
  33. }
  34. logger.Debug(fmt.Sprintf("获取到字段别名字典详情: %s", id))
  35. // 构建返回结果
  36. detail := TableFieldAliasDetail{
  37. TableFieldAlias: tableFieldAlias,
  38. }
  39. return util.CreateSuccessResultData[TableFieldAliasDetail](detail, reqCtx)
  40. }
  41. // GetTableFieldAliasByFieldID 根据字段ID获取字段别名字典
  42. func GetTableFieldAliasByFieldID(fieldID string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.DicTableFieldAliasDB] {
  43. logger.Debug(fmt.Sprintf("GetTableFieldAliasByFieldID-开始根据字段ID获取字段别名字典: %s", fieldID))
  44. // 参数验证
  45. if fieldID == "" {
  46. logger.ErrorC(reqCtx, "字段ID不能为空")
  47. return util.CreateErrorResult[[]tables.DicTableFieldAliasDB]("字段ID不能为空", reqCtx)
  48. }
  49. // 获取数据库连接
  50. db := dbFactory.GetDB()
  51. // 查询字段别名信息
  52. var tableFieldAliases []tables.DicTableFieldAliasDB
  53. query := `
  54. SELECT id, field_id, table_id, field_name, field_alias, description, where, created_at, updated_at, deleted_at
  55. FROM dic_table_field_alias
  56. WHERE field_id = ? AND deleted_at IS NULL
  57. ORDER BY field_alias
  58. `
  59. err := db.SelectContext(ctx, &tableFieldAliases, query, fieldID)
  60. if err != nil {
  61. logger.ErrorC(reqCtx, fmt.Sprintf("查询字段别名字典失败: %v", err))
  62. return util.CreateErrorResult[[]tables.DicTableFieldAliasDB](fmt.Sprintf("查询字段别名字典失败: %v", err), reqCtx)
  63. }
  64. logger.Debug(fmt.Sprintf("获取到字段别名字典: %s, 数量: %d", fieldID, len(tableFieldAliases)))
  65. return util.CreateSuccessResultData[[]tables.DicTableFieldAliasDB](tableFieldAliases, reqCtx)
  66. }
  67. // GetTableFieldAliasByTableID 根据表ID获取字段别名字典
  68. func GetTableFieldAliasByTableID(tableID string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.DicTableFieldAliasDB] {
  69. logger.Debug(fmt.Sprintf("GetTableFieldAliasByTableID-开始根据表ID获取字段别名字典: %s", tableID))
  70. // 参数验证
  71. if tableID == "" {
  72. logger.ErrorC(reqCtx, "表ID不能为空")
  73. return util.CreateErrorResult[[]tables.DicTableFieldAliasDB]("表ID不能为空", reqCtx)
  74. }
  75. // 获取数据库连接
  76. db := dbFactory.GetDB()
  77. // 查询字段别名信息
  78. var tableFieldAliases []tables.DicTableFieldAliasDB
  79. query := `
  80. SELECT id, field_id, table_id, field_name, field_alias, description, where, created_at, updated_at, deleted_at
  81. FROM dic_table_field_alias
  82. WHERE table_id = ? AND deleted_at IS NULL
  83. ORDER BY field_name, field_alias
  84. `
  85. err := db.SelectContext(ctx, &tableFieldAliases, query, tableID)
  86. if err != nil {
  87. logger.ErrorC(reqCtx, fmt.Sprintf("查询字段别名字典失败: %v", err))
  88. return util.CreateErrorResult[[]tables.DicTableFieldAliasDB](fmt.Sprintf("查询字段别名字典失败: %v", err), reqCtx)
  89. }
  90. logger.Debug(fmt.Sprintf("获取到表字段别名字典: %s, 数量: %d", tableID, len(tableFieldAliases)))
  91. return util.CreateSuccessResultData[[]tables.DicTableFieldAliasDB](tableFieldAliases, reqCtx)
  92. }