| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package metamanagement
-
- import (
- "context"
- "encoding/json"
-
- "git.x2erp.com/qdy/go-base/ctx"
- "git.x2erp.com/qdy/go-base/logger"
- "git.x2erp.com/qdy/go-base/model/request/tabulatorreq"
- "git.x2erp.com/qdy/go-base/model/response"
- "git.x2erp.com/qdy/go-db/factory/database"
- "git.x2erp.com/qdy/go-svc-configure/internal/tables"
- )
-
- // TabulatorConfigMetaRequest Tabulator专用的配置元请求
- //type TabulatorConfigMetaRequest struct {
- // tabulatorreq.TabulatorRequest
- //}
-
- // ListConfigMetaTabulator Tabulator格式的配置元查询
- func ListConfigMetaTabulator(req *tabulatorreq.TabulatorRequest, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.ConfigMetaDB] {
- // 调试:记录接收到的原始请求
- if logger.IsDebug() {
- logger.Debug("TabulatorConfigMetaRequest 原始请求: %+v", req)
- if req != nil {
- jsonBytes, _ := json.Marshal(req)
- logger.Debug("TabulatorRequest: %s", jsonBytes)
- }
- }
-
- // 验证请求参数
- if req == nil {
- req = &tabulatorreq.TabulatorRequest{}
- req.Page = 1
- req.Size = 10
- }
- req.Validate()
-
- // 调试:验证后的值
- if logger.IsDebug() {
- logger.Debug("TabulatorConfigMetaRequest 验证后: Page=%d, Size=%d", req.Page, req.Size)
- }
-
- // 定义字段映射:前端字段名 -> 后端字段名
- fieldMapper := func(field string) string {
- switch field {
- case "id":
- return "id"
- case "configName":
- return "configName"
- case "fieldName":
- return "fieldName"
- case "fieldType":
- return "fieldType"
- case "yamlName":
- return "yamlName"
- case "fieldDesc":
- return "fieldDesc"
- case "creator":
- return "creator"
- case "createdAt":
- return "createdAt"
- default:
- // 未知字段,返回空字符串(将被忽略)
- return ""
- }
- }
-
- // 转换为通用查询请求
- queryReq := req.ToQueryRequest(fieldMapper)
-
- // 创建ConfigMetaQueryRequest
- configMetaReq := &ConfigMetaQueryRequest{
- QueryRequest: *queryReq,
- }
-
- // 调用现有的查询逻辑
- result := ListConfigMeta(configMetaReq, ctx, dbFactory, reqCtx)
-
- // 直接返回QueryResult,包含LastPage字段
- return &response.QueryResult[[]tables.ConfigMetaDB]{
- Success: result.Success,
- LastPage: result.LastPage,
- Data: result.Data,
- Error: result.Error,
- Count: len(result.Data),
- Time: result.Time,
- QueryTime: result.QueryTime,
- SaveTime: result.SaveTime,
- TotalCount: result.TotalCount,
- Message: result.Message,
- Metadata: result.Metadata,
- }
- }
|