package sdk import ( "git.sxidc.com/service-supports/ds-sdk/sdk/raw_sql_tpl" "git.sxidc.com/service-supports/ds-sdk/sdk/tag" ) type InsertCallback[T any] func(e T) func Insert[T any](sdk *SDK, tableName string, e T, callback InsertCallback[T]) error { sqlMapping, err := tag.ParseSqlMapping(e) if err != nil { return err } executeParams := raw_sql_tpl.InsertExecuteParams{ TableName: tableName, } for column, sqlMappingColumn := range sqlMapping.ColumnMap { if sqlMappingColumn.InsertCallback { if callback != nil { //callback(column) } } executeParams.TableRows = append(executeParams.TableRows, raw_sql_tpl.TableRow{ Column: column, Value: "", }) } //sdk.ExecuteRawSql(raw_sql_tpl.InsertTpl, executeParams) return nil }