172 lines
3.6 KiB
Go
172 lines
3.6 KiB
Go
package tools
|
|
|
|
import (
|
|
"encoding/json"
|
|
"honoka-chan/database"
|
|
"honoka-chan/model"
|
|
"honoka-chan/utils"
|
|
)
|
|
|
|
func LoadApi1Data(path string) {
|
|
apiData := utils.ReadAllText(path)
|
|
if apiData != "" {
|
|
var obj model.Response
|
|
err := json.Unmarshal([]byte(apiData), &obj)
|
|
CheckErr(err)
|
|
|
|
var data interface{}
|
|
if err = json.Unmarshal(obj.ResponseData, &data); err != nil {
|
|
panic(err)
|
|
}
|
|
// resultType := reflect.TypeOf(data)
|
|
// if resultType.Kind() == reflect.Map {
|
|
// data = data.(map[string]interface{})
|
|
// }
|
|
result := data.([]interface{})
|
|
for k, v := range result {
|
|
m, err := json.Marshal(v)
|
|
CheckErr(err)
|
|
|
|
key := ""
|
|
switch k {
|
|
case 0:
|
|
key = "live_status_result"
|
|
case 1:
|
|
key = "live_list_result"
|
|
case 2:
|
|
key = "unit_list_result"
|
|
case 3:
|
|
key = "unit_deck_result"
|
|
case 4:
|
|
key = "unit_support_result"
|
|
case 5:
|
|
key = "owning_equip_result"
|
|
case 6:
|
|
key = "costume_list_result"
|
|
case 7:
|
|
key = "album_unit_result"
|
|
case 8:
|
|
key = "scenario_status_result"
|
|
case 9:
|
|
key = "subscenario_status_result"
|
|
case 10:
|
|
key = "event_scenario_result"
|
|
case 11:
|
|
key = "multi_unit_scenario_result"
|
|
case 12:
|
|
key = "product_result"
|
|
case 13:
|
|
key = "banner_result"
|
|
case 14:
|
|
key = "item_marquee_result"
|
|
case 15:
|
|
key = "user_intro_result"
|
|
case 16:
|
|
key = "special_cutin_result"
|
|
case 17:
|
|
key = "award_result"
|
|
case 18:
|
|
key = "background_result"
|
|
case 19:
|
|
key = "stamp_result"
|
|
case 20:
|
|
key = "exchange_point_result"
|
|
case 21:
|
|
key = "live_se_result"
|
|
case 22:
|
|
key = "live_icon_result"
|
|
case 23:
|
|
key = "item_list_result"
|
|
case 24:
|
|
key = "marathon_result"
|
|
case 25:
|
|
key = "challenge_result"
|
|
}
|
|
|
|
if key != "" {
|
|
// database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m))
|
|
err = database.LevelDb.Put([]byte(key), m)
|
|
CheckErr(err)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
func LoadApi2Data(path string) {
|
|
apiData := utils.ReadAllText(path)
|
|
if apiData != "" {
|
|
var obj model.Response
|
|
err := json.Unmarshal([]byte(apiData), &obj)
|
|
CheckErr(err)
|
|
|
|
var data interface{}
|
|
err = json.Unmarshal(obj.ResponseData, &data)
|
|
CheckErr(err)
|
|
// resultType := reflect.TypeOf(data)
|
|
// if resultType.Kind() == reflect.Map {
|
|
// data = data.(map[string]interface{})
|
|
// }
|
|
result := data.([]interface{})
|
|
for k, v := range result {
|
|
m, err := json.Marshal(v)
|
|
CheckErr(err)
|
|
|
|
key := ""
|
|
switch k {
|
|
case 0:
|
|
key = "login_topinfo_result"
|
|
case 1:
|
|
key = "login_topinfo_once_result"
|
|
case 2:
|
|
key = "unit_accessory_result"
|
|
case 3:
|
|
key = "museum_result"
|
|
}
|
|
|
|
if key != "" {
|
|
// database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m))
|
|
err = database.LevelDb.Put([]byte(key), m)
|
|
CheckErr(err)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
func LoadApi3Data(path string) {
|
|
apiData := utils.ReadAllText(path)
|
|
if apiData != "" {
|
|
var obj model.Response
|
|
err := json.Unmarshal([]byte(apiData), &obj)
|
|
CheckErr(err)
|
|
|
|
var data interface{}
|
|
err = json.Unmarshal(obj.ResponseData, &data)
|
|
CheckErr(err)
|
|
// resultType := reflect.TypeOf(data)
|
|
// if resultType.Kind() == reflect.Map {
|
|
// data = data.(map[string]interface{})
|
|
// }
|
|
result := data.([]interface{})
|
|
for k, v := range result {
|
|
m, err := json.Marshal(v)
|
|
CheckErr(err)
|
|
|
|
key := ""
|
|
switch k {
|
|
case 0:
|
|
key = "profile_livecnt_result"
|
|
case 1:
|
|
key = "profile_card_ranking_result"
|
|
case 2:
|
|
key = "profile_info_result"
|
|
}
|
|
|
|
if key != "" {
|
|
// database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m))
|
|
err = database.LevelDb.Put([]byte(key), m)
|
|
CheckErr(err)
|
|
}
|
|
}
|
|
}
|
|
}
|