|
|
|
@ -10,6 +10,7 @@ import (
|
|
|
|
|
"github.com/tidwall/gjson"
|
|
|
|
|
"log"
|
|
|
|
|
"os"
|
|
|
|
|
"sort"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
@ -113,6 +114,14 @@ func addRecord(tableName string, pk string, jsonStr string) {
|
|
|
|
|
var mymap map[string]interface{}
|
|
|
|
|
var sql = ""
|
|
|
|
|
if err := json.Unmarshal([]byte(jsonStr), &mymap); err == nil {
|
|
|
|
|
//拿到key
|
|
|
|
|
var keys []string
|
|
|
|
|
for k := range mymap {
|
|
|
|
|
keys = append(keys, k)
|
|
|
|
|
}
|
|
|
|
|
//对key排序
|
|
|
|
|
sort.Strings(keys)
|
|
|
|
|
|
|
|
|
|
//先删除再插入
|
|
|
|
|
sql = `delete from ` + tableName + ` where ` + pk + `=`
|
|
|
|
|
switch (mymap[pk]).(type) {
|
|
|
|
@ -128,17 +137,19 @@ func addRecord(tableName string, pk string, jsonStr string) {
|
|
|
|
|
//插入
|
|
|
|
|
sql = `insert into ` + tableName + "("
|
|
|
|
|
var lineSql = ""
|
|
|
|
|
for key, value := range mymap {
|
|
|
|
|
sql += key + ","
|
|
|
|
|
switch value.(type) {
|
|
|
|
|
|
|
|
|
|
//根据key从m中拿元素,就是按顺序拿了
|
|
|
|
|
for _, k := range keys {
|
|
|
|
|
sql += k + ","
|
|
|
|
|
switch mymap[k].(type) {
|
|
|
|
|
case string:
|
|
|
|
|
lineSql += "'" + value.(string) + "',"
|
|
|
|
|
lineSql += "'" + mymap[k].(string) + "',"
|
|
|
|
|
break
|
|
|
|
|
case int64:
|
|
|
|
|
lineSql += CommonUtil.ConvertInt64ToString(value.(int64)) + ","
|
|
|
|
|
lineSql += CommonUtil.ConvertInt64ToString(mymap[k].(int64)) + ","
|
|
|
|
|
break
|
|
|
|
|
case float64:
|
|
|
|
|
lineSql += fmt.Sprintf("%d", int64(value.(float64))) + ","
|
|
|
|
|
lineSql += fmt.Sprintf("%d", int64(mymap[k].(float64))) + ","
|
|
|
|
|
break
|
|
|
|
|
default:
|
|
|
|
|
break
|
|
|
|
@ -155,10 +166,16 @@ func addRecord(tableName string, pk string, jsonStr string) {
|
|
|
|
|
|
|
|
|
|
//提交
|
|
|
|
|
func batchSave(sqls []string) {
|
|
|
|
|
for i := range sqls {
|
|
|
|
|
_, err := db.SQL(sqls[i]).Execute()
|
|
|
|
|
if err != nil {
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
fmt.Println(sqls)
|
|
|
|
|
//_, err := db.SQL(sqls[0:2]).Execute()
|
|
|
|
|
//if err != nil {
|
|
|
|
|
// panic(err)
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
//for i := range sqls {
|
|
|
|
|
// _, err := db.SQL(sqls[i]).Execute()
|
|
|
|
|
// if err != nil {
|
|
|
|
|
// panic(err)
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|