package main import ( util "app.yhyue.com/data_processing/common_utils" "app.yhyue.com/data_processing/common_utils/log" "app.yhyue.com/data_processing/common_utils/mongodb" "field_sync/config" "fmt" "os" ) // InitLog @Description // @Author J 2022/7/26 15:30 func InitLog() { logcfg := config.Conf.Log err := log.InitLog( log.Path(logcfg.LogPath), log.Level(logcfg.LogLevel), log.Compress(logcfg.Compress), log.MaxSize(logcfg.MaxSize), log.MaxBackups(logcfg.MaxBackups), log.MaxAge(logcfg.MaxAge), log.Format(logcfg.Format), ) if err != nil { fmt.Printf("InitLog failed: %v\n", err) os.Exit(1) } } func InitMgo() { MgoB = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.MongoB.Addr, DbName: config.Conf.DB.MongoB.Dbname, Size: config.Conf.DB.MongoB.Size, UserName: config.Conf.DB.MongoB.User, Password: config.Conf.DB.MongoB.Password, } MgoB.InitPool() MgoE = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.MongoE.Addr, DbName: config.Conf.DB.MongoE.Dbname, Size: config.Conf.DB.MongoE.Size, UserName: config.Conf.DB.MongoE.User, Password: config.Conf.DB.MongoE.Password, } MgoE.InitPool() MgoQ = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.MongoQ.Addr, DbName: config.Conf.DB.MongoQ.Dbname, Size: config.Conf.DB.MongoQ.Size, UserName: config.Conf.DB.MongoQ.User, Password: config.Conf.DB.MongoQ.Password, } MgoQ.InitPool() MgoP = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.MongoP.Addr, DbName: config.Conf.DB.MongoP.Dbname, Size: config.Conf.DB.MongoP.Size, UserName: config.Conf.DB.MongoP.User, Password: config.Conf.DB.MongoP.Password, } MgoP.InitPool() } type Province struct { P_Name string } type City struct { P_Name string C_Name string } type District struct { P_Name string C_Name string D_Name string } //初始化城市 func initCheckCity() { //初始化-城市配置 ProvinceDict = make(map[string][]Province, 0) CityDict = make(map[string][]City, 0) DistrictDict = make(map[string][]District, 0) q := map[string]interface{}{ "town_code": map[string]interface{}{ "$exists": 0, }, } sess := MgoQ.GetMgoConn() defer MgoQ.DestoryMongoConn(sess) it := sess.DB(MgoQ.DbName).C(config.Conf.DB.MongoQ.Coll1).Find(&q).Iter() total := 0 for tmp := make(map[string]interface{}); it.Next(&tmp); total++ { district_code := util.IntAll(tmp["district_code"]) city_code := util.IntAll(tmp["city_code"]) if district_code > 0 { province := util.ObjToString(tmp["province"]) city := util.ObjToString(tmp["city"]) district := util.ObjToString(tmp["district"]) data := District{province, city, district} if DistrictDict[district] == nil { DistrictDict[district] = []District{data} } else { arr := DistrictDict[district] arr = append(arr, data) DistrictDict[district] = arr } } else { if city_code > 0 { province := util.ObjToString(tmp["province"]) city := util.ObjToString(tmp["city"]) data := City{province, city} if CityDict[city] == nil { CityDict[city] = []City{data} } else { arr := CityDict[city] arr = append(arr, data) CityDict[city] = arr } } else { province := util.ObjToString(tmp["province"]) data := Province{province} if ProvinceDict[province] == nil { ProvinceDict[province] = []Province{data} } else { arr := ProvinceDict[province] arr = append(arr, data) ProvinceDict[province] = arr } } } tmp = make(map[string]interface{}) } util.Debug(fmt.Sprintf("城市配置加载完毕...省~%d 市~%d 区~%d", len(ProvinceDict), len(CityDict), len(DistrictDict))) }