package main import ( "fieldproject_common/config" "fmt" "go.uber.org/zap" util "jygit.jydev.jianyu360.cn/data_processing/common_utils" "jygit.jydev.jianyu360.cn/data_processing/common_utils/elastic" "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 ( RecordField = []string{"name", "name_id", "type", "createtime"} // DealerField 经销商字段 DealerField = []string{"name_id", "company_id", "dealer_name", "area_code", "city_code", "district_code", "business_model", "capital", "employee_no", "insurance_amount", "company_address", "website", "capital_code", "employee_no_code", "insurance_amount_code", "exists_id", "createtime"} EntField = []string{"company_id", "company_name", "company_code", "credit_no", "org_code", "tax_code", "establish_date", "legal_person", "legal_person_caption", "company_status", "company_type", "authority", "issue_date", "operation_startdate", "operation_enddate", "capital", "company_address", "business_scope", "cancel_date", "cancel_reason", "revoke_date", "revoke_reason", "legal_person_type", "real_capital", "en_name", "list_code", "area_code", "employee_no", "company_phone", "insurance_amount", "company_email", "website", "sourcetype", "createtime", "updatetime", "employees"} // RegField 许可备案 RegField = []string{"dealer_id", "company_name", "regnum", "type", "address", "scope", "business_type", "approve_depart", "validity_date", "approve_date", "type_address", "website_name", "website", "platform_name", "client_name", "responsible_person", "legal_person", "residence", "createtime"} ProductField = []string{"dealer_id", "company_id", "company_name", "regno", "company_address", "make_adress", "make_country", "agent_name", "agent_address", "brand", "model", "main_part", "product_descrip", "use_scope", "storage_conditions", "remark", "approve_depart", "approve_date", "validity_date", "changes", "regist_type", "source_channel", "manage_type", "product_name", "medical_equipment_class1", "medical_equipment_class2", "medical_equipment_class3", "sdproduct_name", "sdequipment_code", "isvalid", "createtime"} ProjectField = []string{"projectid", "infoid", "jyhref", "itemname", "brandname", "specs", "model", "unitname", "number", "unitprice", "totalprice", "medical_equipment_class1", "medical_equipment_class2", "medical_equipment_class3", "sdproduct_name", "sdequipment_code", "area_code", "city_code", "district_code", "budget", "title", "projectname", "projectcode", "purchasing", "buyer_id", "agency_id", "buyer", "mi_level_code", "mi_area_code", "agency", "bidstatus", "bidtype", "bidopentime", "zbtime", "jgtime", "updatetime", "createtime", "month_tags", "year_tags", "quarter_tags"} WinerField = []string{"projectid", "infoid", "winner", "winner_id", "contact_name", "contact_tel", "winner_area_code", "winner_city_code", "bidamount", "jgtime", "is_winner", "createtime", "updatetime"} AreaCode = make(map[string]string, 5000) LvCode = make(map[string]string, 10000000) PclassCode = make(map[string]map[string]string, 10000) ) // 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() { MongoTool = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.Mongo.Addr, Size: config.Conf.DB.Mongo.Size, DbName: config.Conf.DB.Mongo.Dbname, UserName: config.Conf.DB.Mongo.User, Password: config.Conf.DB.Mongo.Password, } MongoTool.InitPool() MongoTool1 = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.Mongo1.Addr, Size: config.Conf.DB.Mongo1.Size, DbName: config.Conf.DB.Mongo1.Dbname, UserName: config.Conf.DB.Mongo1.User, Password: config.Conf.DB.Mongo1.Password, } MongoTool1.InitPool() MongoTool2 = &mongodb.MongodbSim{ MongodbAddr: config.Conf.DB.Mongo2.Addr, Size: config.Conf.DB.Mongo2.Size, DbName: config.Conf.DB.Mongo2.Dbname, UserName: config.Conf.DB.Mongo2.User, Password: config.Conf.DB.Mongo2.Password, } MongoTool2.InitPool() } func InitEs() { Es = &elastic.Elastic{ S_esurl: config.Conf.DB.Es.Addr, I_size: config.Conf.DB.Es.Size, } Es.InitElasticSize() } func InitMysql() { dbcfg := config.Conf.DB.Mysql MysqlB = &mysqldb.Mysql{ Address: dbcfg.Addr, DBName: dbcfg.DbnameBasic, UserName: dbcfg.User, PassWord: dbcfg.Password, } MysqlB.Init() MysqlM = &mysqldb.Mysql{ Address: dbcfg.Addr, DBName: dbcfg.DbnameMedical, UserName: dbcfg.User, PassWord: dbcfg.Password, } MysqlM.Init() } func InitField() { info := MysqlB.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]) } } AreaCode[key] = util.ObjToString(m["code"]) } log.Info("InitField", zap.Int("AreaCode", len(AreaCode))) } func InitLvCode() { info := MysqlM.Find("dwd_f_yl_organ_baseinfo", nil, "name_id, level_code", "", -1, -1) for _, m := range *info { name_id := util.ObjToString(m["name_id"]) code := util.ObjToString(m["level_code"]) LvCode[name_id] = util.ObjToString(code) } log.Info("InitLvCode", zap.Int("LvCode", len(LvCode))) } func InitPoCode() { data_class := MysqlM.Find("d_yl_productclass_code", nil, "", "", -1, -1) for _, v := range *data_class { name := util.ObjToString(v["name"]) code := util.ObjToString(v["code"]) pcode := util.ObjToString(v["pcode"]) level := util.IntAll(v["level"]) info := map[string]string{} for key, value := range PclassCode[pcode] { info[key] = value } new_key := "class_" + fmt.Sprintf("%d", level) info[new_key] = name PclassCode[code] = info } }