diff --git a/common/report/api.go b/common/report/api.go index db85776..74ef945 100644 --- a/common/report/api.go +++ b/common/report/api.go @@ -333,6 +333,22 @@ func (s *ReportService) SaveField(ctx context.Context, req *model.SaveFieldReq) Status: req.Status, } + // 校验字段类型 + validFieldTypes := map[string]bool{ + model.FieldTypeString: true, + model.FieldTypeInt: true, + model.FieldTypeFloat: true, + model.FieldTypeDate: true, + model.FieldTypeDatetime: true, + model.FieldTypeJsonb: true, + } + if req.FieldType != "" && !validFieldTypes[req.FieldType] { + return nil, fmt.Errorf("不支持的字段类型: %s,仅支持 STRING/INT/FLOAT/DATE/DATETIME/JSONB", req.FieldType) + } + if req.DataType != "" && !validFieldTypes[req.DataType] { + return nil, fmt.Errorf("不支持的存储类型: %s,仅支持 STRING/INT/FLOAT/DATE/DATETIME/JSONB", req.DataType) + } + if req.Status == "" { field.Status = model.StatusActive }