Create & Init Project...
This commit is contained in:
36
app/admin/main/search/http/upsert.go
Normal file
36
app/admin/main/search/http/upsert.go
Normal file
@ -0,0 +1,36 @@
|
||||
package http
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"strings"
|
||||
|
||||
"go-common/app/admin/main/search/model"
|
||||
"go-common/library/ecode"
|
||||
"go-common/library/log"
|
||||
bm "go-common/library/net/http/blademaster"
|
||||
)
|
||||
|
||||
func upsert(c *bm.Context) {
|
||||
up := &model.UpsertParams{}
|
||||
if err := c.Bind(up); err != nil {
|
||||
return
|
||||
}
|
||||
dataBody := map[string][]model.MapData{}
|
||||
decoder := json.NewDecoder(strings.NewReader(up.DataStr))
|
||||
decoder.UseNumber()
|
||||
if err := decoder.Decode(&dataBody); err != nil {
|
||||
log.Error("s.http.upsert(%v) json error(%v)", err, dataBody)
|
||||
}
|
||||
if len(dataBody) == 0 {
|
||||
c.JSON(nil, ecode.RequestErr)
|
||||
return
|
||||
}
|
||||
for _, n := range dataBody {
|
||||
for _, m := range n {
|
||||
if err := m.NumberToInt64(); err != nil {
|
||||
log.Error("s.http.upsert(%v) to int64 error(%v)", err, m)
|
||||
}
|
||||
}
|
||||
}
|
||||
c.JSON(nil, svr.Upsert(c, up, dataBody))
|
||||
}
|
Reference in New Issue
Block a user