config.go 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. package util
  2. import (
  3. "mongodb"
  4. qu "qfw/util"
  5. "qfw/util/elastic"
  6. "qfw/util/redis"
  7. )
  8. var (
  9. Sysconfig map[string]interface{} //配置文件
  10. Mgo *mongodb.MongodbSim
  11. MgoCus *mongodb.MongodbSim //企业服务库
  12. JYMgo *mongodb.MongodbSim
  13. OprdMgo *mongodb.MongodbSim
  14. MgoEn *mongodb.MongodbSim
  15. JyProMgo *mongodb.MongodbSim
  16. MgoS *mongodb.MongodbSim
  17. EsIndex, EsType string
  18. MgoEnC string
  19. JyCollNameOne string
  20. JyCollNameTwo string
  21. JyRecord string
  22. JyProColl string
  23. JyProRecord string
  24. RedisJYName string
  25. RedisDelKey1 string
  26. RedisDelKey2 string
  27. RedisDelKey3 string
  28. RedisDelKey4 string
  29. RedisDelKey5 string
  30. RedisSave string // 新增数据保存信息
  31. )
  32. var (
  33. TopTypeArr []string //公告一级分类
  34. SubTypeMap map[string][]string //公告二级分类
  35. Province []string //省
  36. ProvinceCitys map[string][]string //省:[市1,市2]
  37. CityDistricts map[string][]string //市:[区1,区2]
  38. BuyerClass []string //采购单位行业
  39. ScopeClassMap map[string]interface{} //公告行业
  40. )
  41. func InitMgoPool() {
  42. Mgo = &mongodb.MongodbSim{
  43. MongodbAddr: qu.ObjToString(Sysconfig["mgodb"]),
  44. Size: qu.IntAll(Sysconfig["dbsize"]),
  45. DbName: qu.ObjToString(Sysconfig["dbname"]),
  46. UserName: qu.ObjToString(Sysconfig["uname"]),
  47. Password: qu.ObjToString(Sysconfig["upwd"]),
  48. }
  49. Mgo.InitPool()
  50. mgo := *qu.ObjToMap(Sysconfig["oprd_db"])
  51. OprdMgo = &mongodb.MongodbSim{
  52. MongodbAddr: qu.ObjToString(mgo["addr"]),
  53. Size: qu.IntAll(mgo["dbsize"]),
  54. DbName: qu.ObjToString(mgo["dbname"]),
  55. }
  56. OprdMgo.InitPool()
  57. //lua
  58. luaDb := *qu.ObjToMap(Sysconfig["lua_db"])
  59. MgoS = &mongodb.MongodbSim{
  60. MongodbAddr: qu.ObjToString(luaDb["addr"]),
  61. Size: qu.IntAll(luaDb["dbsize"]),
  62. DbName: qu.ObjToString(luaDb["dbname"]),
  63. }
  64. MgoS.InitPool()
  65. }
  66. func initJYMgo() {
  67. jymgo := *qu.ObjToMap(Sysconfig["jymgo"])
  68. JYMgo = &mongodb.MongodbSim{
  69. MongodbAddr: qu.ObjToString(jymgo["jyaddr"]),
  70. Size: qu.IntAll(jymgo["jydbsize"]),
  71. DbName: qu.ObjToString(jymgo["jydbname"]),
  72. UserName: qu.ObjToString(Sysconfig["uname"]),
  73. Password: qu.ObjToString(Sysconfig["upwd"]),
  74. }
  75. JyCollNameOne = qu.ObjToString(jymgo["jycollname1"])
  76. JyCollNameTwo = qu.ObjToString(jymgo["jycollname2"])
  77. JyRecord = qu.ObjToString(Sysconfig["jy_info_back"])
  78. JyProRecord = qu.ObjToString(Sysconfig["jy_pro_back"])
  79. JYMgo.InitPool()
  80. //项目
  81. jypro := *qu.ObjToMap(Sysconfig["jy_pro"])
  82. JyProMgo = &mongodb.MongodbSim{
  83. MongodbAddr: qu.ObjToString(jypro["mgodb"]),
  84. Size: qu.IntAll(jypro["dbsize"]),
  85. DbName: qu.ObjToString(jypro["dbname"]),
  86. }
  87. JyProColl = qu.ObjToString(jypro["coll"])
  88. JyProMgo.InitPool()
  89. }
  90. func initJYRedis() {
  91. jyredis := *qu.ObjToMap(Sysconfig["jyredis"])
  92. redis.InitRedisBySize(qu.ObjToString(jyredis["redis_jy"]), 50, 30, 240)
  93. RedisJYName = qu.ObjToString(jyredis["redis_jy_name"])
  94. RedisDelKey1 = qu.ObjToString(jyredis["redisdelkey1"])
  95. RedisDelKey2 = qu.ObjToString(jyredis["redisdelkey2"])
  96. RedisDelKey3 = qu.ObjToString(jyredis["redisdelkey3"])
  97. RedisDelKey4 = qu.ObjToString(jyredis["redisdelkey4"])
  98. RedisDelKey5 = qu.ObjToString(jyredis["redisdelkey5"])
  99. InitRedis(qu.ObjToString(jyredis["redis_jy_save"]))
  100. }
  101. func InitOther() {
  102. initCitys()
  103. initInfoType()
  104. initBuyerClass()
  105. initScopeClass()
  106. initEs()
  107. initJYMgo()
  108. initJYRedis()
  109. }
  110. func initCitys() {
  111. //map初始化
  112. if ProvinceCitys == nil {
  113. ProvinceCitys = make(map[string][]string)
  114. }
  115. if CityDistricts == nil {
  116. CityDistricts = make(map[string][]string)
  117. }
  118. datas, _ := Mgo.Find("code_city", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
  119. for _, data := range *datas {
  120. brief := data["brief"].(string)
  121. Province = append(Province, brief)
  122. citys := data["citys"].([]interface{})
  123. citytmp := []string{}
  124. for _, city := range citys {
  125. cityMap := city.(map[string]interface{})
  126. for cname, districts := range cityMap {
  127. citytmp = append(citytmp, cname)
  128. tmp := districts.([]interface{})
  129. districtarr := qu.ObjArrToStringArr(tmp)
  130. CityDistricts[cname] = districtarr
  131. }
  132. }
  133. ProvinceCitys[brief] = citytmp
  134. }
  135. }
  136. func initInfoType() {
  137. SubTypeMap = make(map[string][]string)
  138. datas, _ := Mgo.Find("code_infotype", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
  139. for _, data := range *datas {
  140. name := data["name"].(string)
  141. TopTypeArr = append(TopTypeArr, name)
  142. child := qu.ObjArrToStringArr(data["child"].([]interface{}))
  143. SubTypeMap[name] = child
  144. }
  145. }
  146. func initBuyerClass() {
  147. datas, _ := Mgo.Find("code_buyerclass", `{}`, `{"_id":1}`, `{}`, false, -1, -1)
  148. for _, data := range *datas {
  149. name := data["name"].(string)
  150. BuyerClass = append(BuyerClass, name)
  151. }
  152. }
  153. func initScopeClass() {
  154. if ScopeClassMap == nil {
  155. ScopeClassMap = make(map[string]interface{})
  156. }
  157. info, _ := Mgo.Find("code_scopeclass", `{}`, `{"_id": 1}`, `{}`, false, -1, -1)
  158. for _, i := range *info {
  159. ScopeClassMap[qu.ObjToString(i["name"])] = i["child"]
  160. }
  161. }
  162. func initEs() {
  163. EsIndex, EsType = qu.ObjToString(Sysconfig["elasticsearch_index"]), qu.ObjToString(Sysconfig["elasticsearch_type"])
  164. elastic.InitElasticSize(qu.ObjToString(Sysconfig["elasticsearch"]), qu.IntAllDef(qu.Int64All(Sysconfig["elasticPoolSize"]), 30))
  165. }