github.com/lianghucheng/zrddz@v0.0.0-20200923083010-c71f680932e2/src/game/internal/mongodb.go (about) 1 package internal 2 3 import ( 4 "conf" 5 6 "github.com/name5566/leaf/db/mongodb" 7 "github.com/name5566/leaf/log" 8 ) 9 10 var mongoDB *mongodb.DialContext 11 12 var DB string 13 14 func init() { 15 DB = conf.Server.DBName 16 // mongodb 17 if conf.Server.DBMaxConnNum <= 0 { 18 conf.Server.DBMaxConnNum = 100 19 } 20 db, err := mongodb.Dial(conf.Server.DBUrl, conf.Server.DBMaxConnNum) 21 if err != nil { 22 log.Fatal("dial mongodb error: %v", err) 23 } 24 mongoDB = db 25 initCollection() 26 initConfigData() 27 } 28 29 func initCollection() { 30 db := mongoDB 31 err := db.EnsureCounter(DB, "counters", "users") 32 if err != nil { 33 log.Fatal("ensure counter error: %v", err) 34 } 35 err = db.EnsureCounter(DB, "counters", "configs") 36 if err != nil { 37 log.Fatal("ensure counter error: %v", err) 38 } 39 err = db.EnsureCounter(DB, "counters", "totalresult") 40 if err != nil { 41 log.Fatal("ensure counter error: %v", err) 42 } 43 err = db.EnsureCounter(DB, "counters", "roundresult") 44 if err != nil { 45 log.Fatal("ensure counter error: %v", err) 46 } 47 48 err = db.EnsureUniqueIndex(DB, "users", []string{"accountid"}) 49 if err != nil { 50 log.Fatal("ensure index error: %v", err) 51 } 52 err = db.EnsureUniqueIndex(DB, "users", []string{"unionid"}) 53 if err != nil { 54 log.Fatal("ensure index error: %v", err) 55 } 56 } 57 58 func initConfigData() { 59 landlordConfigData = new(ConfigData) 60 landlordConfigData.initLandlord() 61 } 62 63 func mongoDBDestroy() { 64 mongoDB.Close() 65 mongoDB = nil 66 } 67 68 func mongoDBNextSeq(id string) (int, error) { 69 return mongoDB.NextSeq(DB, "counters", id) 70 }