package util import ( "data_tidb/config" "fmt" "go.uber.org/zap" util "jygit.jydev.jianyu360.cn/data_processing/common_utils" "jygit.jydev.jianyu360.cn/data_processing/common_utils/log" "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb" "jygit.jydev.jianyu360.cn/data_processing/common_utils/mysqldb" "os" ) var ( //通用 MongoB, MongoP *mongodb.MongodbSim MysqlTool *mysqldb.Mysql RegionCode = make(map[string]string, 5000) BuyerClassCode = make(map[string]string, 100) TopSubtypeCode = make(map[string]map[string]string, 100) FileTypeArr = []string{"pdf", "doc", "docx", "xlsx", "xls", "jpg", "zip", "rar", "txt", "gif", "png", "bmp", "swf", "html"} ) const ( T_dwd_f_bid_baseinfo = "dwd_f_bid_baseinfo" T_dwd_f_bid_detail = "dwd_f_bid_detail" T_dwd_f_bid_expand_baseinfo = "dwd_f_bid_expand_baseinfo" T_dwd_f_bid_file_baseinfo = "dwd_f_bid_file_baseinfo" T_dwd_f_bid_file_text = "dwd_f_bid_file_text" T_dwd_f_bid_intention_baseinfo = "dwd_f_bid_intention_baseinfo" T_dwd_f_bid_package_baseinfo = "dwd_f_bid_package_baseinfo" T_dwd_f_bid_package_bidder_baseinfo = "dwd_f_bid_package_bidder_baseinfo" T_dwd_f_bid_package_goods_baseinfo = "dwd_f_bid_package_goods_baseinfo" ) func InitInfo() { config.Init("./common.toml") InitLog() InitMgo() InitMysql() InitField() log.Info("init success") } // 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() { MongoB = &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, } MongoB.InitPool() MongoP = &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, } MongoP.InitPool() } func InitMysql() { dbcfg := config.Conf.DB.Mysql MysqlTool = &mysqldb.Mysql{ Address: dbcfg.Addr, DBName: dbcfg.Dbname, UserName: dbcfg.User, PassWord: dbcfg.Password, } MysqlTool.Init() } func InitField() { info := MysqlTool.Find("code_area", nil, "", "", -1, -1) for _, m := range *info { var key string for i, v := range []string{"area", "city", "district"} { if i == 0 && util.ObjToString(m[v]) != "" { key = util.ObjToString(m[v]) } else if util.ObjToString(m[v]) != "" { key += "," + util.ObjToString(m[v]) } } RegionCode[key] = util.ObjToString(m["code"]) } log.Info("InitField", zap.Int("RegionCode", len(RegionCode))) info1 := MysqlTool.Find("code_bidtopsubtype", nil, "", "", -1, -1) for _, v := range *info1 { name := util.ObjToString(v["name"]) code := util.ObjToString(v["code"]) pcode := util.ObjToString(v["pcode"]) level := util.IntAll(v["level"]) if level == 1 { TopSubtypeCode[name] = map[string]string{ "code": code, } } else if level == 2 { match_name := "" for k1, v1 := range TopSubtypeCode { if v1["code"] == pcode { match_name = k1 break } } data := TopSubtypeCode[match_name] data[name] = code TopSubtypeCode[match_name] = data } else { } } log.Info("InitField", zap.Int("TopSubtypeCode", len(TopSubtypeCode))) } // 插入并打印信息 func InsertGlobalMysqlData(name string, data map[string]interface{}, mark string) int64 { inb := MysqlTool.Insert(name, data) if inb == -1 { log.Info("插入数据异常", zap.String(name, mark)) } return inb }