123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- package main
- import (
- "log"
- "mongodb"
- _ "net/http/pprof"
- "qfw/util"
- elastic "qfw/util/elastic"
- "strings"
- )
- var (
- Sysconfig map[string]interface{} //配置文件
- mgo *mongodb.MongodbSim //mongodb操作对象
- biddingIndexFields []string
- biddingIndexFieldsMap = map[string]string{}
- projectinfoFields []string
- projectinfoFieldsMap = map[string]string{}
- multiIndex []string
- purchasinglistFields []string
- winnerorderlistFields []string
- purchasinglistFieldsMap = map[string]string{}
- winnerorderlistFieldsMap = map[string]string{}
- BulkSize = 400
- detailLength = 50000
- fileLength = 50000
- savesize = 500
- bidding, project map[string]interface{}
- )
- var UpdataMgoCache = make(chan []map[string]interface{}, 1000)
- var SP = make(chan bool, 5)
- func init() {
- util.ReadConfig(&Sysconfig)
- detailLength = util.IntAllDef(Sysconfig["detaillength"], 50000)
- fileLength = util.IntAllDef(Sysconfig["filelength"], 50000)
- bidding, _ = Sysconfig["bidding"].(map[string]interface{})
- project, _ = Sysconfig["project"].(map[string]interface{})
- mconf, _ := Sysconfig["mongodb"].(map[string]interface{})
- mgo = &mongodb.MongodbSim{ //mongodb为binding连接
- MongodbAddr: mconf["addr"].(string),
- Size: util.IntAllDef(mconf["pool"], 5),
- DbName: mconf["db"].(string),
- //UserName: Sysconfig["uname"].(string),
- //Password: Sysconfig["upwd"].(string),
- }
- mgo.InitPool()
- //初始化es
- econf := Sysconfig["elastic"].(map[string]interface{})
- elastic.InitElasticSize(econf["addr"].(string), util.IntAllDef(econf["pool"], 5))
- //
- if bidding["indexfields"] != nil {
- biddingIndexFields = util.ObjArrToStringArr(bidding["indexfields"].([]interface{}))
- }
- if bidding["projectinfo"] != nil {
- pf := util.ObjToString(bidding["projectinfo"])
- if pf != "" {
- projectinfoFields = strings.Split(pf, ",")
- }
- }
- if bidding["purchasinglist"] != nil {
- pcl := util.ObjToString(bidding["purchasinglist"])
- if pcl != "" {
- purchasinglistFields = strings.Split(pcl, ",")
- }
- }
- if bidding["winnerorder"] != nil {
- winnerorder := util.ObjToString(bidding["winnerorder"])
- if winnerorder != "" {
- winnerorderlistFields = strings.Split(winnerorder, ",")
- }
- }
- //
- if bidding["indexfieldsmap"] != nil {
- for k, v := range bidding["indexfieldsmap"].(map[string]interface{}) {
- biddingIndexFieldsMap[k] = util.ObjToString(v)
- }
- log.Println(biddingIndexFieldsMap)
- }
- if bidding["projectinfomap"] != nil {
- for k, v := range bidding["projectinfomap"].(map[string]interface{}) {
- projectinfoFieldsMap[k] = util.ObjToString(v)
- }
- log.Println(projectinfoFieldsMap)
- }
- if bidding["purchasinglistmap"] != nil {
- for k, v := range bidding["purchasinglistmap"].(map[string]interface{}) {
- purchasinglistFieldsMap[k] = util.ObjToString(v)
- }
- log.Println(purchasinglistFieldsMap)
- }
- if bidding["winnerordermap"] != nil {
- for k, v := range bidding["winnerordermap"].(map[string]interface{}) {
- winnerorderlistFieldsMap[k] = util.ObjToString(v)
- }
- log.Println(winnerorderlistFieldsMap)
- }
- log.Println(projectinfoFields)
- log.Println(purchasinglistFields)
- //初始化oss
- InitOss()
- }
- func main() {
- biddingTask()
- //projectTask()
- ch := make(chan bool, 1)
- <-ch
- }
|