fengweiqiang 4 жил өмнө
parent
commit
5e9d42fe3e

+ 3 - 1
standardata/src/config.json

@@ -29,5 +29,7 @@
       "redisdb":3
     }
   },
-  "redis": "winner=172.17.148.44:2679,buyer=172.17.148.44:2679,agency=172.17.148.44:2679"
+  "redis": "winner=172.17.148.44:2679,buyer=172.17.148.44:2679,agency=172.17.148.44:2679",
+  "username": "",
+  "password": ""
 }

+ 23 - 15
standardata/src/main.go

@@ -14,21 +14,21 @@ import (
 )
 
 var (
-	MongoFrom /*抽取原*/, MongoTo /*保存库*/, MongoEnt /*企业库*/, MgoExt/*抽取信息库*/ *mongo.MongodbSim
-	sysconfig                   map[string]interface{}
-	extractcoll                 string
-	Version                     string
-	VersionColl                 string
-	winnerent, winnererr        string
-	buyerent, buyererr          string
-	agencyent, agencyerr        string
-	winnerbd, buyerbd, agencybd int
-	Addrs                       = make(map[string]interface{}, 0) //省市县
-	winchanbool                 = make(chan bool, 3)
-	buyerchanbool               = make(chan bool, 3)
-	agencychanbool              = make(chan bool, 3)
-	gochan                      = make(chan bool, 3)
-	udpclient                   mu.UdpClient
+	MongoFrom /*抽取原*/, MongoTo /*保存库*/, MongoEnt /*企业库*/, MgoExt /*抽取信息库*/ *mongo.MongodbSim
+	sysconfig                                                              map[string]interface{}
+	extractcoll                                                            string
+	Version                                                                string
+	VersionColl                                                            string
+	winnerent, winnererr                                                   string
+	buyerent, buyererr                                                     string
+	agencyent, agencyerr                                                   string
+	winnerbd, buyerbd, agencybd                                            int
+	Addrs                                                                  = make(map[string]interface{}, 0) //省市县
+	winchanbool                                                            = make(chan bool, 3)
+	buyerchanbool                                                          = make(chan bool, 3)
+	agencychanbool                                                         = make(chan bool, 3)
+	gochan                                                                 = make(chan bool, 3)
+	udpclient                                                              mu.UdpClient
 	//异常表正则匹配处理
 	WinnerRegOk, WinnerRegErr, AgencyRegOk, AgencyRegErr, BuyerRegOk, BuyerRegErr []regexp.Regexp
 )
@@ -59,6 +59,8 @@ func init() {
 		MongodbAddr: qu.ObjToString(sysconfig["mgofrom"]),
 		Size:        qu.IntAll(sysconfig["mgofromsize"]),
 		DbName:      qu.ObjToString(sysconfig["mgofromdb"]),
+		UserName:    qu.ObjToString(sysconfig["username"]),
+		PassWord:    qu.ObjToString(sysconfig["password"]),
 	}
 	MongoFrom.InitPool()
 
@@ -66,6 +68,8 @@ func init() {
 		MongodbAddr: qu.ObjToString(sysconfig["mgoto"]),
 		Size:        qu.IntAll(sysconfig["mgotosize"]),
 		DbName:      qu.ObjToString(sysconfig["mgotodb"]),
+		UserName:    qu.ObjToString(sysconfig["username"]),
+		PassWord:    qu.ObjToString(sysconfig["password"]),
 	}
 	MongoTo.InitPool()
 
@@ -73,6 +77,8 @@ func init() {
 		MongodbAddr: qu.ObjToString(sysconfig["mgoent"]),
 		Size:        qu.IntAll(sysconfig["mgoentsize"]),
 		DbName:      qu.ObjToString(sysconfig["mgoentdb"]),
+		UserName:    qu.ObjToString(sysconfig["username"]),
+		PassWord:    qu.ObjToString(sysconfig["password"]),
 	}
 	MongoEnt.InitPool()
 
@@ -80,6 +86,8 @@ func init() {
 		MongodbAddr: qu.ObjToString(sysconfig["mgoto"]),
 		Size:        qu.IntAll(sysconfig["mgotosize"]),
 		DbName:      qu.ObjToString(sysconfig["extractdb"]),
+		UserName:    qu.ObjToString(sysconfig["username"]),
+		PassWord:    qu.ObjToString(sysconfig["password"]),
 	}
 	MgoExt.InitPool()
 	redis.InitRedis(qu.ObjToString(sysconfig["redis"]))

+ 5 - 0
util/src/dbutil/mongo/mgo.go

@@ -127,6 +127,8 @@ type MongodbSim struct {
 	Ctx      context.Context
 	ShortCtx context.Context
 	pool     chan bool
+	UserName string
+	PassWord string
 }
 
 func (m *MongodbSim) GetMgoConn() *MgoSess {
@@ -149,6 +151,9 @@ func (m *MongodbSim) InitPool() {
 	opts.SetMaxPoolSize(uint64(m.Size))
 	m.pool = make(chan bool, m.Size)
 	opts.SetMaxConnIdleTime(2 * time.Hour)
+	if m.UserName != "" && m.PassWord != "" {
+		opts.SetAuth(options.Credential{Username: m.UserName, Password: m.PassWord})
+	}
 	m.Ctx, _ = context.WithTimeout(context.Background(), 99999*time.Hour)
 	m.ShortCtx, _ = context.WithTimeout(context.Background(), 1*time.Minute)
 	client, err := mongo.Connect(m.ShortCtx, opts)