This commit is contained in:
oneao committed 2026-04-07 17:19:52 +08:00
1 parent c6671c8a8c
commit f0cb963d23
76 files changed
+6467 -498

No files matched your search

@@ -0,0 +1,56 @@
package handle
import (
"allapp-go/internal/httpx"
"allapp-go/internal/types"
"allapp-go/pkg/db"
"github.com/gofiber/fiber/v3"
)
func SaveData(c fiber.Ctx) error {
var req []types.SaveDataReq
if err := httpx.BindAndValidate(c, &req); err != nil {
return err
}
if len(req) == 0 {
return httpx.OK(c, nil)
}
ctx := c.Context()
dbClient := db.New()
err := dbClient.WithTx(ctx, func(tx *db.Client) error {
for _, dataReq := range req {
tableName := dataReq.TableName
keyField := dataReq.KeyField
for _, insert := range dataReq.Inserts {
if err := tx.Insert(ctx, tableName, keyField, insert); err != nil {
return err
}
}
for _, update := range dataReq.Updates {
if err := tx.Update(ctx, tableName, keyField, update); err != nil {
return err
}
}
for _, del := range dataReq.Deletes {
if err := tx.Delete(ctx, tableName, keyField, del); err != nil {
return err
}
}
}
return nil
})
if err != nil {
return err
}
return httpx.OK(c, nil)
}