u
This commit is contained in:
1 parent
f08db1959b
commit
c6671c8a8c
68 files changed
+13904
-1131
No files matched your search
@@ -0,0 +1,50 @@
|
||||
package handle
|
||||
|
||||
import (
|
||||
"allapp-go/internal/errors"
|
||||
"allapp-go/internal/httpx"
|
||||
"allapp-go/internal/types"
|
||||
"allapp-go/pkg/db"
|
||||
|
||||
"github.com/gofiber/fiber/v3"
|
||||
)
|
||||
|
||||
func LoadData(c fiber.Ctx) error {
|
||||
var req types.LoadDataReq
|
||||
|
||||
err := httpx.BindAndValidate(c, &req)
|
||||
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
|
||||
dbClient := db.New()
|
||||
// 查询
|
||||
data, err := dbClient.LoadData(c.Context(), req.ViewName, req.SearchCondition, req.OrderBy, req.SearchColumns, req.Args)
|
||||
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
|
||||
return httpx.OK(c, data)
|
||||
}
|
||||
|
||||
func LoadDataBySql(c fiber.Ctx) error {
|
||||
var req types.LoadDataBySqlReq
|
||||
|
||||
err := httpx.BindAndValidate(c, &req)
|
||||
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
|
||||
dbClient := db.New()
|
||||
|
||||
data, err := dbClient.LoadDataBySQL(c.Context(), req.Sql, req.Args)
|
||||
|
||||
if err != nil {
|
||||
return errors.WithStack(err)
|
||||
}
|
||||
|
||||
return httpx.OK(c, data)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
Reference in new issue
Block a user