Geen omschrijving
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

detail_table_alias.go 2.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. // GetTableAliasDetail 获取表别名字典详情
  13. func GetTableAliasDetail(id string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[TableAliasDetail] {
  14. logger.Debug(fmt.Sprintf("GetTableAliasDetail-开始获取表别名字典详情: %s", id))
  15. // 参数验证
  16. if id == "" {
  17. logger.ErrorC(reqCtx, "ID不能为空")
  18. return util.CreateErrorResult[TableAliasDetail]("ID不能为空", reqCtx)
  19. }
  20. // 获取数据库连接
  21. db := dbFactory.GetDB()
  22. // 查询表别名信息
  23. var tableAlias tables.DicTableAliasDB
  24. query := `
  25. SELECT id, table_id, table_alias, created_at, updated_at, deleted_at
  26. FROM dic_table_alias
  27. WHERE id = ? AND deleted_at IS NULL
  28. `
  29. err := db.GetContext(ctx, &tableAlias, query, id)
  30. if err != nil {
  31. logger.ErrorC(reqCtx, fmt.Sprintf("查询表别名字典失败: %v", err))
  32. return util.CreateErrorResult[TableAliasDetail](fmt.Sprintf("查询表别名字典失败: %v", err), reqCtx)
  33. }
  34. logger.Debug(fmt.Sprintf("获取到表别名字典详情: %s", id))
  35. // 构建返回结果
  36. detail := TableAliasDetail{
  37. TableAlias: tableAlias,
  38. }
  39. return util.CreateSuccessResultData[TableAliasDetail](detail, reqCtx)
  40. }
  41. // GetTableAliasByTableID 根据表ID获取表别名字典
  42. func GetTableAliasByTableID(tableID string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.DicTableAliasDB] {
  43. logger.Debug(fmt.Sprintf("GetTableAliasByTableID-开始根据表ID获取表别名字典: %s", tableID))
  44. // 参数验证
  45. if tableID == "" {
  46. logger.ErrorC(reqCtx, "表ID不能为空")
  47. return util.CreateErrorResult[[]tables.DicTableAliasDB]("表ID不能为空", reqCtx)
  48. }
  49. // 获取数据库连接
  50. db := dbFactory.GetDB()
  51. // 查询表别名信息
  52. var tableAliases []tables.DicTableAliasDB
  53. query := `
  54. SELECT id, table_id, table_alias, created_at, updated_at, deleted_at
  55. FROM dic_table_alias
  56. WHERE table_id = ? AND deleted_at IS NULL
  57. ORDER BY table_alias
  58. `
  59. err := db.SelectContext(ctx, &tableAliases, query, tableID)
  60. if err != nil {
  61. logger.ErrorC(reqCtx, fmt.Sprintf("查询表别名字典失败: %v", err))
  62. return util.CreateErrorResult[[]tables.DicTableAliasDB](fmt.Sprintf("查询表别名字典失败: %v", err), reqCtx)
  63. }
  64. logger.Debug(fmt.Sprintf("获取到表别名字典: %s, 数量: %d", tableID, len(tableAliases)))
  65. return util.CreateSuccessResultData[[]tables.DicTableAliasDB](tableAliases, reqCtx)
  66. }