|
@@ -17,6 +17,7 @@ func AddEdbDataFromWindWsd(stockCode string, item map[string]map[string]interfac
|
|
|
var isAdd bool
|
|
|
addSql := ` INSERT INTO edb_data_wind_wsd(edb_info_id,edb_code,data_time,value,create_time,modify_time,data_timestamp) values `
|
|
|
|
|
|
+ indexCodeMap := make(map[string]string)
|
|
|
for wk, wv := range item {
|
|
|
for vk, vv := range wv {
|
|
|
var indexCode string
|
|
@@ -29,6 +30,8 @@ func AddEdbDataFromWindWsd(stockCode string, item map[string]map[string]interfac
|
|
|
vk = strings.ToLower(vk)
|
|
|
indexCode = windWsd + stockCode + vk
|
|
|
|
|
|
+ indexCodeMap[indexCode] = indexCode
|
|
|
+
|
|
|
wkInt = wkInt / 1000
|
|
|
t := time.Unix(wkInt, 0)
|
|
|
if t.After(time.Now()) {
|
|
@@ -62,6 +65,23 @@ func AddEdbDataFromWindWsd(stockCode string, item map[string]map[string]interfac
|
|
|
}
|
|
|
|
|
|
if isAdd {
|
|
|
+
|
|
|
+ for _, v := range indexCodeMap {
|
|
|
+ var count int
|
|
|
+ sql := ` SELECT COUNT(1) FROM edb_data_wind_wsd WHERE edb_code=? `
|
|
|
+ err = o.Raw(sql, v).QueryRow(&count)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ sql = ` DELETE FROM edb_data_wind_wsd WHERE edb_code=? `
|
|
|
+ _, err = o.Raw(sql, v).Exec()
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
addSql = strings.TrimRight(addSql, ",")
|
|
|
_, err = o.Raw(addSql).Exec()
|
|
|
if err != nil {
|