refactor: separate backend domains and storage adapters
This commit is contained in:
@@ -8,12 +8,32 @@ import (
|
||||
"github.com/xuri/excelize/v2"
|
||||
"io"
|
||||
"kra/internal/biz"
|
||||
"kra/internal/service/dto"
|
||||
"sort"
|
||||
)
|
||||
|
||||
type ExportService struct{ uc *biz.ExportUsecase }
|
||||
|
||||
func NewExportService(uc *biz.ExportUsecase) *ExportService { return &ExportService{uc: uc} }
|
||||
func exportTemplateDomain(value *dto.ExportTemplateRequest) *biz.ExportTemplate {
|
||||
out := &biz.ExportTemplate{ID: value.ID, DBName: value.DBName, Name: value.Name, TableName: value.TableName, TemplateID: value.TemplateID, TemplateInfo: value.TemplateInfo, SQL: value.SQL, ImportSQL: value.ImportSQL, Limit: value.Limit, Order: value.Order}
|
||||
for _, item := range value.Conditions {
|
||||
out.Conditions = append(out.Conditions, biz.ExportCondition{From: item.From, Column: item.Column, Operator: item.Operator})
|
||||
}
|
||||
for _, item := range value.Joins {
|
||||
out.Joins = append(out.Joins, biz.ExportJoin{Join: item.Join, Table: item.Table, On: item.On})
|
||||
}
|
||||
return out
|
||||
}
|
||||
func (s *ExportService) CreateRequest(ctx context.Context, req *dto.ExportTemplateRequest) error {
|
||||
return s.Create(ctx, exportTemplateDomain(req))
|
||||
}
|
||||
func (s *ExportService) UpdateRequest(ctx context.Context, req *dto.ExportTemplateRequest) error {
|
||||
return s.Update(ctx, exportTemplateDomain(req))
|
||||
}
|
||||
func (s *ExportService) TemplatesFilter(ctx context.Context, page, size int, name, tableName, templateID string) ([]map[string]any, int64, error) {
|
||||
return s.Templates(ctx, page, size, &biz.ExportTemplate{Name: name, TableName: tableName, TemplateID: templateID})
|
||||
}
|
||||
func exportDTO(v *biz.ExportTemplate) map[string]any {
|
||||
conditions := make([]map[string]any, 0, len(v.Conditions))
|
||||
for _, x := range v.Conditions {
|
||||
|
||||
Reference in New Issue
Block a user