正在显示
4 个修改的文件
包含
38 行增加
和
26 行删除
@@ -240,7 +240,7 @@ func (fileService *FileService) ExportFile(ctx *domain.Context, cmd *command.Exp | @@ -240,7 +240,7 @@ func (fileService *FileService) ExportFile(ctx *domain.Context, cmd *command.Exp | ||
240 | }{} | 240 | }{} |
241 | if file.FileType == domain.SourceFile.ToString() { | 241 | if file.FileType == domain.SourceFile.ToString() { |
242 | response.Url = file.FileInfo.Url | 242 | response.Url = file.FileInfo.Url |
243 | - response.Ext = file.FileInfo.Ext | 243 | + response.Ext = domain.XLSX |
244 | response.FileName = file.FileInfo.Name | 244 | response.FileName = file.FileInfo.Name |
245 | return response, nil | 245 | return response, nil |
246 | } | 246 | } |
@@ -268,8 +268,8 @@ func (fileService *FileService) ExportFile(ctx *domain.Context, cmd *command.Exp | @@ -268,8 +268,8 @@ func (fileService *FileService) ExportFile(ctx *domain.Context, cmd *command.Exp | ||
268 | } | 268 | } |
269 | 269 | ||
270 | response.Url = domain.DownloadUrl(filename) | 270 | response.Url = domain.DownloadUrl(filename) |
271 | - response.FileName = filename | ||
272 | - response.Ext = file.FileInfo.Ext | 271 | + response.FileName = file.FileInfo.Name |
272 | + response.Ext = domain.XLSX | ||
273 | 273 | ||
274 | if err := transactionContext.CommitTransaction(); err != nil { | 274 | if err := transactionContext.CommitTransaction(); err != nil { |
275 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 275 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
@@ -168,11 +168,12 @@ type ( | @@ -168,11 +168,12 @@ type ( | ||
168 | 168 | ||
169 | type ( | 169 | type ( |
170 | ReqAppendData struct { | 170 | ReqAppendData struct { |
171 | - FileId int | ||
172 | - FileUrl string | ||
173 | - Table *Table | ||
174 | - From []*Field | ||
175 | - To []*Field | 171 | + FileId int |
172 | + FileUrl string | ||
173 | + Table *Table | ||
174 | + From []*Field | ||
175 | + To []*Field | ||
176 | + ExcelTable *Table | ||
176 | } | 177 | } |
177 | 178 | ||
178 | DataAppendData struct { | 179 | DataAppendData struct { |
@@ -206,11 +206,12 @@ func ToFieldSchemaEnNames(fields []*domain.Field) []string { | @@ -206,11 +206,12 @@ func ToFieldSchemaEnNames(fields []*domain.Field) []string { | ||
206 | type ( | 206 | type ( |
207 | TableAppendRequest struct { | 207 | TableAppendRequest struct { |
208 | //MasterTableId string `json:"masterTableId"` | 208 | //MasterTableId string `json:"masterTableId"` |
209 | - OriginalTableId string `json:"originalTableId"` | ||
210 | - CheckoutTableFileUrl string `json:"checkoutTableFileUrl"` | ||
211 | - DatabaseTableName string `json:"databaseTableName"` | ||
212 | - ColumnSchemas []domain.ColumnSchema `json:"columnSchemas"` | ||
213 | - FieldSchemas []FieldSchema `json:"fieldSchemas"` | 209 | + OriginalTableId string `json:"originalTableId"` |
210 | + CheckoutTableFileUrl string `json:"checkoutTableFileUrl"` | ||
211 | + DatabaseTableName string `json:"databaseTableName"` | ||
212 | + ColumnSchemas []domain.ColumnSchema `json:"columnSchemas"` | ||
213 | + FieldSchemas []FieldSchema `json:"fieldSchemas"` | ||
214 | + SchemaMap map[string]domain.ColumnSchema `json:"schemaMap"` | ||
214 | } | 215 | } |
215 | 216 | ||
216 | MasterTablesAppendRequest struct { | 217 | MasterTablesAppendRequest struct { |
@@ -228,17 +229,24 @@ type ( | @@ -228,17 +229,24 @@ type ( | ||
228 | ) | 229 | ) |
229 | 230 | ||
230 | func NewTableAppendRequest(param domain.ReqAppendData) TableAppendRequest { | 231 | func NewTableAppendRequest(param domain.ReqAppendData) TableAppendRequest { |
232 | + columnSchemas := DomainFieldsToColumnSchemas(param.From) | ||
231 | req := TableAppendRequest{ | 233 | req := TableAppendRequest{ |
232 | OriginalTableId: intToString(param.FileId), | 234 | OriginalTableId: intToString(param.FileId), |
233 | CheckoutTableFileUrl: param.FileUrl, | 235 | CheckoutTableFileUrl: param.FileUrl, |
234 | DatabaseTableName: param.Table.SQLName, | 236 | DatabaseTableName: param.Table.SQLName, |
235 | - ColumnSchemas: DomainFieldsToColumnSchemas(param.Table.DataFields), | 237 | + ColumnSchemas: DomainFieldsToColumnSchemas(param.ExcelTable.DataFields), |
236 | FieldSchemas: ToFieldSchemas(param.Table.DataFields), | 238 | FieldSchemas: ToFieldSchemas(param.Table.DataFields), |
239 | + SchemaMap: make(map[string]domain.ColumnSchema), | ||
237 | } | 240 | } |
238 | - if len(param.From) > 0 { | ||
239 | - req.ColumnSchemas = DomainFieldsToColumnSchemas(param.From) | ||
240 | - req.FieldSchemas = ToFieldSchemas(param.To) | 241 | + for i := 0; i < len(param.To); i++ { |
242 | + if len(columnSchemas) > i { | ||
243 | + req.SchemaMap[param.To[i].SQLName] = columnSchemas[i] | ||
244 | + } | ||
241 | } | 245 | } |
246 | + //if len(param.From) > 0 { | ||
247 | + // req.ColumnSchemas = DomainFieldsToColumnSchemas(param.From) | ||
248 | + // req.FieldSchemas = ToFieldSchemas(param.To) | ||
249 | + //} | ||
242 | return req | 250 | return req |
243 | } | 251 | } |
244 | 252 |
@@ -19,7 +19,6 @@ func (ptr *AppendDataToTableService) AppendData(ctx *domain.Context, fileId int, | @@ -19,7 +19,6 @@ func (ptr *AppendDataToTableService) AppendData(ctx *domain.Context, fileId int, | ||
19 | if err != nil { | 19 | if err != nil { |
20 | return nil, fmt.Errorf("文件不存在") | 20 | return nil, fmt.Errorf("文件不存在") |
21 | } | 21 | } |
22 | - | ||
23 | tableRepository, _ := repository.NewTableRepository(ptr.transactionContext) | 22 | tableRepository, _ := repository.NewTableRepository(ptr.transactionContext) |
24 | table, err := tableRepository.FindOne(map[string]interface{}{"tableId": tableId}) | 23 | table, err := tableRepository.FindOne(map[string]interface{}{"tableId": tableId}) |
25 | if err != nil { | 24 | if err != nil { |
@@ -59,19 +58,23 @@ func (ptr *AppendDataToTableService) AppendData(ctx *domain.Context, fileId int, | @@ -59,19 +58,23 @@ func (ptr *AppendDataToTableService) AppendData(ctx *domain.Context, fileId int, | ||
59 | } | 58 | } |
60 | 59 | ||
61 | // 通知底层进行追加数据 | 60 | // 通知底层进行追加数据 |
62 | - requestData := domain.ReqAppendData{Table: table, FileId: fileId, FileUrl: file.FileInfo.Url} | 61 | + requestData := domain.ReqAppendData{Table: table, FileId: fileId, FileUrl: file.FileInfo.Url, ExcelTable: excelTable} |
63 | if len(mappingFields) > 0 { | 62 | if len(mappingFields) > 0 { |
64 | for _, m := range mappingFields { | 63 | for _, m := range mappingFields { |
65 | - if len(m.VerifiedFileFieldName) == 0 { | ||
66 | - continue | ||
67 | - } | ||
68 | - fromField, ok := excelTable.MatchField(&domain.Field{Name: m.VerifiedFileFieldName}) | 64 | + var toField, fromField *domain.Field |
65 | + var ok bool | ||
66 | + toField, ok = table.MatchField(m.MainTableField) | ||
69 | if !ok { | 67 | if !ok { |
70 | continue | 68 | continue |
71 | } | 69 | } |
72 | - toField, ok := table.MatchField(m.MainTableField) | ||
73 | - if !ok { | ||
74 | - continue | 70 | + if len(m.VerifiedFileFieldName) == 0 { |
71 | + fromField = &domain.Field{} | ||
72 | + // continue | ||
73 | + } else { | ||
74 | + fromField, ok = excelTable.MatchField(&domain.Field{Name: m.VerifiedFileFieldName}) | ||
75 | + if !ok { | ||
76 | + continue | ||
77 | + } | ||
75 | } | 78 | } |
76 | requestData.To = append(requestData.To, toField) | 79 | requestData.To = append(requestData.To, toField) |
77 | requestData.From = append(requestData.From, fromField) | 80 | requestData.From = append(requestData.From, fromField) |
-
请 注册 或 登录 后发表评论