| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package metamanagement
-
- 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"
- )
-
- // ListConfigMeta 查询配置元信息列表
- func ListConfigMeta(ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.ConfigMetaDB] {
- logger.Debug("ListConfigMeta-开始查询配置元信息")
-
- // 获取数据库连接
- db := dbFactory.GetDB()
-
- // 查询所有配置元信息
- var metaList []tables.ConfigMetaDB
- query := `
- SELECT id, config_name, field_name, field_type, yaml_name, field_desc, creator, created_at
- FROM config_meta
- ORDER BY config_name, field_name
- `
-
- err := db.SelectContext(ctx, &metaList, query)
- if err != nil {
- logger.ErrorC(reqCtx, fmt.Sprintf("查询配置元信息失败: %v", err))
- return util.CreateErrorResult[[]tables.ConfigMetaDB](fmt.Sprintf("查询配置元信息失败: %v", err), reqCtx)
- }
-
- logger.Debug(fmt.Sprintf("查询到 %d 条配置元信息", len(metaList)))
- return util.CreateSuccessResultData[[]tables.ConfigMetaDB](metaList, reqCtx)
- }
-
- // SearchConfigMeta 搜索配置元信息
- func SearchConfigMeta(ctx context.Context, dbFactory *database.DBFactory, configName, fieldName, yamlName string, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.ConfigMetaDB] {
- logger.Debug("SearchConfigMeta-开始搜索配置元信息")
-
- // 获取数据库连接
- db := dbFactory.GetDB()
-
- // 构建查询条件和参数
- query := `
- SELECT id, config_name, field_name, field_type, yaml_name, field_desc, creator, created_at
- FROM config_meta
- WHERE 1=1
- `
- var args []interface{}
-
- if configName != "" {
- query += " AND config_name LIKE ?"
- args = append(args, "%"+configName+"%")
- }
- if fieldName != "" {
- query += " AND field_name LIKE ?"
- args = append(args, "%"+fieldName+"%")
- }
- if yamlName != "" {
- query += " AND yaml_name LIKE ?"
- args = append(args, "%"+yamlName+"%")
- }
-
- query += " ORDER BY config_name, field_name"
-
- var metaList []tables.ConfigMetaDB
- err := db.SelectContext(ctx, &metaList, query, args...)
- if err != nil {
- logger.ErrorC(reqCtx, fmt.Sprintf("搜索配置元信息失败: %v", err))
- return util.CreateErrorResult[[]tables.ConfigMetaDB](fmt.Sprintf("搜索配置元信息失败: %v", err), reqCtx)
- }
-
- logger.Debug(fmt.Sprintf("搜索到 %d 条配置元信息", len(metaList)))
- return util.CreateSuccessResultData[[]tables.ConfigMetaDB](metaList, reqCtx)
- }
|