Няма описание
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.

list_config_meta.go 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package metamanagement
  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. // ListConfigMeta 查询配置元信息列表
  13. func ListConfigMeta(ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.ConfigMetaDB] {
  14. logger.Debug("ListConfigMeta-开始查询配置元信息")
  15. // 获取数据库连接
  16. db := dbFactory.GetDB()
  17. // 查询所有配置元信息
  18. var metaList []tables.ConfigMetaDB
  19. query := `
  20. SELECT id, config_name, field_name, field_type, yaml_name, field_desc, creator, created_at
  21. FROM config_meta
  22. ORDER BY config_name, field_name
  23. `
  24. err := db.SelectContext(ctx, &metaList, query)
  25. if err != nil {
  26. logger.ErrorC(reqCtx, fmt.Sprintf("查询配置元信息失败: %v", err))
  27. return util.CreateErrorResult[[]tables.ConfigMetaDB](fmt.Sprintf("查询配置元信息失败: %v", err), reqCtx)
  28. }
  29. logger.Debug(fmt.Sprintf("查询到 %d 条配置元信息", len(metaList)))
  30. return util.CreateSuccessResultData[[]tables.ConfigMetaDB](metaList, reqCtx)
  31. }
  32. // SearchConfigMeta 搜索配置元信息
  33. func SearchConfigMeta(ctx context.Context, dbFactory *database.DBFactory, configName, fieldName, yamlName string, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.ConfigMetaDB] {
  34. logger.Debug("SearchConfigMeta-开始搜索配置元信息")
  35. // 获取数据库连接
  36. db := dbFactory.GetDB()
  37. // 构建查询条件和参数
  38. query := `
  39. SELECT id, config_name, field_name, field_type, yaml_name, field_desc, creator, created_at
  40. FROM config_meta
  41. WHERE 1=1
  42. `
  43. var args []interface{}
  44. if configName != "" {
  45. query += " AND config_name LIKE ?"
  46. args = append(args, "%"+configName+"%")
  47. }
  48. if fieldName != "" {
  49. query += " AND field_name LIKE ?"
  50. args = append(args, "%"+fieldName+"%")
  51. }
  52. if yamlName != "" {
  53. query += " AND yaml_name LIKE ?"
  54. args = append(args, "%"+yamlName+"%")
  55. }
  56. query += " ORDER BY config_name, field_name"
  57. var metaList []tables.ConfigMetaDB
  58. err := db.SelectContext(ctx, &metaList, query, args...)
  59. if err != nil {
  60. logger.ErrorC(reqCtx, fmt.Sprintf("搜索配置元信息失败: %v", err))
  61. return util.CreateErrorResult[[]tables.ConfigMetaDB](fmt.Sprintf("搜索配置元信息失败: %v", err), reqCtx)
  62. }
  63. logger.Debug(fmt.Sprintf("搜索到 %d 条配置元信息", len(metaList)))
  64. return util.CreateSuccessResultData[[]tables.ConfigMetaDB](metaList, reqCtx)
  65. }