crud.go 770 B

123456789101112131415161718192021222324252627282930313233343536
  1. package sdk
  2. import (
  3. "git.sxidc.com/service-supports/ds-sdk/sdk/raw_sql_tpl"
  4. "git.sxidc.com/service-supports/ds-sdk/sdk/tag"
  5. )
  6. type InsertCallback[T any] func(e T)
  7. func Insert[T any](sdk *SDK, tableName string, e T, callback InsertCallback[T]) error {
  8. sqlMapping, err := tag.ParseSqlMapping(e)
  9. if err != nil {
  10. return err
  11. }
  12. executeParams := raw_sql_tpl.InsertExecuteParams{
  13. TableName: tableName,
  14. }
  15. for column, sqlMappingColumn := range sqlMapping.ColumnMap {
  16. if sqlMappingColumn.InsertCallback {
  17. if callback != nil {
  18. //callback(column)
  19. }
  20. }
  21. executeParams.TableRows = append(executeParams.TableRows, raw_sql_tpl.TableRow{
  22. Column: column,
  23. Value: "",
  24. })
  25. }
  26. //sdk.ExecuteRawSql(raw_sql_tpl.InsertTpl, executeParams)
  27. return nil
  28. }