123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- package util
- import (
- "qfw/mongodb"
- qu "qfw/util"
- "qfw/util/elastic"
- mgo "util/mgodb"
- )
- var (
- Sysconfig map[string]interface{} //配置文件
- Mgo *mongodb.MongodbSim
- MgoCus *mongodb.MongodbSim //企业服务库
- MgoEn *mongodb.MongodbSim
- EsIndex, EsType string
- MgoEnC string
- Subday float64
- PreviewHref string //数据预览地址
- CustomerApi string
- LatestId = "" //起始id
- MgoTag *mgo.MongodbSim //标签库连接
- MgoSave *mgo.MongodbSim //数据保存库连接
- MgoBuyer *mgo.MongodbSim //医院等级信息
- MgoEnps *mgo.MongodbSim //企业信息
- SaveColl string
- HospColl string
- BuyerEntColl string
- EnpsColl string
- Es *elastic.Elastic //es
- Index string
- Itype string
- TaskTime int64 //定时任务时间
- //历史数据
- SId string
- EId string
- CustomerName string
- SaveCollProject string
- SaveCollbid string
- SaveUserMail string
- )
- var (
- TopTypeArr []string //公告一级分类
- SubTypeArr []string //公告二级分类
- Province []string //省
- ProvinceCitys map[string][]string //省:[市1,市2]
- CityDistricts map[string][]string //市:[区1,区2]
- BuyerClass []string //采购单位行业
- MatchTypeMap *[]map[string]interface{} //匹配方式
- MatchTypeMap2 map[string]interface{} //匹配方式
- MatchTypeMap3 *[]map[string]interface{} //匹配方式
- ExistFiled *[]map[string]interface{} //存在的字段
- ScopeClassMap *[]map[string]interface{} //公告行业
- TagFieldMap *[]map[string]interface{} //标签属性值
- TaskTypeMap *[]map[string]interface{} //任务类型
- )
- func InitMgoPool() {
- Mgo = &mongodb.MongodbSim{
- MongodbAddr: qu.ObjToString(Sysconfig["mgodb"]),
- Size: qu.IntAll(Sysconfig["dbsize"]),
- DbName: qu.ObjToString(Sysconfig["dbname"]),
- }
- Mgo.InitPool()
- customer := Sysconfig["customer"].(map[string]interface{})
- CustomerApi = qu.ObjToString(customer["api"])
- MgoCus = &mongodb.MongodbSim{
- MongodbAddr: qu.ObjToString(customer["mgodb"]),
- Size: qu.IntAll(customer["dbsize"]),
- DbName: qu.ObjToString(customer["dbname"]),
- }
- MgoCus.InitPool()
- }
- func initMgoEn() {
- MgoEn = &mongodb.MongodbSim{
- MongodbAddr: qu.ObjToString(Sysconfig["mgodben"]),
- Size: qu.IntAll(Sysconfig["dbsize"]),
- DbName: qu.ObjToString(Sysconfig["dbnameen"]),
- }
- MgoEnC = qu.ObjToString(Sysconfig["mongoenc"])
- MgoEn.InitPool()
- }
- func InitOther() {
- initCitys()
- initInfoType()
- initBuyerClass()
- initMatchType()
- initExitField()
- initScopeClass()
- initTaskType()
- initEs()
- initMgoEn()
- Subday = qu.Float64All(Sysconfig["subday"])
- PreviewHref = qu.ObjToString(Sysconfig["preview_href"])
- initTagField()
- initdb()
- }
- func initCitys() {
- //map初始化
- if ProvinceCitys == nil {
- ProvinceCitys = make(map[string][]string)
- }
- if CityDistricts == nil {
- CityDistricts = make(map[string][]string)
- }
- datas, _ := Mgo.Find("code_city", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
- for _, data := range *datas {
- brief := data["brief"].(string)
- Province = append(Province, brief)
- citys := data["citys"].([]interface{})
- citytmp := []string{}
- for _, city := range citys {
- cityMap := city.(map[string]interface{})
- for cname, districts := range cityMap {
- citytmp = append(citytmp, cname)
- tmp := districts.([]interface{})
- districtarr := qu.ObjArrToStringArr(tmp)
- CityDistricts[cname] = districtarr
- }
- }
- ProvinceCitys[brief] = citytmp
- }
- }
- func initInfoType() {
- datas, _ := Mgo.Find("code_infotype", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
- for _, data := range *datas {
- name := data["name"].(string)
- TopTypeArr = append(TopTypeArr, name)
- child := qu.ObjArrToStringArr(data["child"].([]interface{}))
- SubTypeArr = append(SubTypeArr, child...)
- }
- //qu.Debug(InfoTypeArr, InfoTypeMap)
- }
- func initBuyerClass() {
- datas, _ := Mgo.Find("code_buyerclass", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
- for _, data := range *datas {
- name := data["name"].(string)
- BuyerClass = append(BuyerClass, name)
- }
- }
- func initMatchType() {
- //map初始化
- if MatchTypeMap2 == nil {
- MatchTypeMap2 = make(map[string]interface{})
- }
- MatchTypeMap, _ = Mgo.Find("code_matchtype", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
- MatchTypeMap3, _ = Mgo.Find("code_matchtype", `{"type": 1}`, nil, nil, false, -1, -1)
- for _, d := range *MatchTypeMap {
- code := qu.ObjToString(d["code"])
- name := qu.ObjToString(d["name"])
- MatchTypeMap2[code] = name
- }
- }
- func initExitField() {
- ExistFiled, _ = Mgo.Find("code_field", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
- //for _, data := range *datas {
- // name := data["name"].(string)
- // ExistFiled = append(ExistFiled, name)
- //}
- }
- func initScopeClass() {
- ScopeClassMap, _ = Mgo.Find("code_scopeclass", `{}`, `{"_id": 1}`, `{}`, false, -1, -1)
- }
- func initTaskType() {
- TaskTypeMap, _ = Mgo.Find("code_task", `{}`, `{"_id": 1}`, `{}`, false, -1, -1)
- }
- func initEs() {
- EsIndex, EsType = qu.ObjToString(Sysconfig["elasticsearch_index"]), qu.ObjToString(Sysconfig["elasticsearch_type"])
- elastic.InitElasticSize(qu.ObjToString(Sysconfig["elasticsearch"]), qu.IntAllDef(qu.Int64All(Sysconfig["elasticPoolSize"]), 30))
- }
- func initTagField() {
- TagFieldMap, _ = Mgo.Find("code_tagfield", `{}`, `{"_id": 1}`, `{}`, false, -1, -1)
- }
- func initdb() {
- //mgo save
- save := Sysconfig["save"].(map[string]interface{})
- SaveColl = qu.ObjToString(save["coll"])
- SaveCollProject = qu.ObjToString(save["coll_project"])
- SaveCollbid = qu.ObjToString(save["coll_bid"])
- SaveUserMail = qu.ObjToString(save["coll_usermail"])
- MgoSave = &mgo.MongodbSim{
- MongodbAddr: qu.ObjToString(save["addr"]),
- DbName: qu.ObjToString(save["db"]),
- Size: qu.IntAllDef(save["size"], 15),
- }
- MgoSave.InitPool()
- //mgo buyerinfo
- buyerinfo := Sysconfig["buyerinfo"].(map[string]interface{})
- HospColl = qu.ObjToString(buyerinfo["hospcoll"])
- BuyerEntColl = qu.ObjToString(buyerinfo["buyerentcoll"])
- MgoBuyer = &mgo.MongodbSim{
- MongodbAddr: qu.ObjToString(buyerinfo["addr"]),
- DbName: qu.ObjToString(buyerinfo["db"]),
- Size: qu.IntAllDef(buyerinfo["size"], 15),
- }
- MgoBuyer.InitPool()
- //mgo enterprise
- enterprise := Sysconfig["enterprise"].(map[string]interface{})
- EnpsColl = qu.ObjToString(enterprise["coll"])
- MgoEnps = &mgo.MongodbSim{
- MongodbAddr: qu.ObjToString(enterprise["addr"]),
- DbName: qu.ObjToString(enterprise["db"]),
- Size: qu.IntAllDef(enterprise["size"], 15),
- }
- MgoEnps.InitPool()
- //es
- es := Sysconfig["es"].(map[string]interface{})
- Es = &elastic.Elastic{
- S_esurl: qu.ObjToString(es["addr"]),
- I_size: qu.IntAllDef(es["pool"], 15),
- }
- Es.InitElasticSize()
- Index = qu.ObjToString(es["index"])
- Itype = qu.ObjToString(es["itype"])
- }
|