config.go 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. /**
  2. *读取基本配置到内存
  3. **/
  4. package util
  5. import (
  6. mgo "mongodb"
  7. qu "qfw/util"
  8. "qfw/util/elastic"
  9. "sort"
  10. )
  11. //系统配置
  12. type config struct {
  13. Port string `json:"port"`
  14. Dbaddress string `json:"dbaddress"`
  15. Dbname string `json:"dbname"`
  16. Size int `json:"size"`
  17. Fromtable string `json:"fromtable"`
  18. Totablel string `json:"totablel"`
  19. Biaozhu map[string]interface{} `json:"biaozhu"`
  20. InfluxdbUrl string `json:"influxdbUrl"`
  21. Redis string `json:"redis"`
  22. RedisTimeout int `json:"redistimeout"`
  23. Bidding map[string]interface{} `json:"bidding"`
  24. Extract map[string]interface{} `json:"extract"`
  25. Elas map[string]interface{} `json:"es"`
  26. TopSubType map[string]interface{} `json:"topsubtype"`
  27. CustomerField map[string]string `json:"customerfield"`
  28. //Field []string `json:"field"` // 标注字段
  29. }
  30. const JYHREFPRE = "https://www.jianyu360.cn/article/content/"
  31. const SPECIALTYPE = "二级不存在"
  32. const BIDDINGSTARTID = "5a862f0640d2d9bbe88e3cec"
  33. var (
  34. Config config
  35. MgoB *mgo.MongodbSim //bidding
  36. BidColl1 string
  37. BidColl2 string
  38. MgoE *mgo.MongodbSim //extract
  39. ExtColl1 string
  40. ExtColl2 string
  41. MgoM *mgo.MongodbSim //标注
  42. Es *elastic.Elastic //es
  43. Index string
  44. Itype string
  45. //
  46. AllFieldArr []map[string]string
  47. PurchasinglistField []map[string]string
  48. PackageField []map[string]string
  49. WinnerorderField []map[string]string
  50. TopSubStypeArr []string
  51. TopSubStypeArr2 []string
  52. )
  53. func InitConfig() {
  54. //标注
  55. MgoM = &mgo.MongodbSim{
  56. MongodbAddr: Config.Dbaddress,
  57. DbName: Config.Dbname,
  58. Size: Config.Size,
  59. }
  60. MgoM.InitPool()
  61. //bid
  62. bid := Config.Bidding
  63. BidColl1 = qu.ObjToString(bid["coll1"])
  64. BidColl2 = qu.ObjToString(bid["coll2"])
  65. MgoB = &mgo.MongodbSim{
  66. MongodbAddr: qu.ObjToString(bid["addr"]),
  67. DbName: qu.ObjToString(bid["db"]),
  68. Size: qu.IntAll(bid["size"]),
  69. //UserName: qu.ObjToString(bid["username"]),
  70. //Password: qu.ObjToString(bid["password"]),
  71. }
  72. MgoB.InitPool()
  73. //ext
  74. ext := Config.Extract
  75. ExtColl1 = qu.ObjToString(ext["coll1"])
  76. ExtColl2 = qu.ObjToString(ext["coll2"])
  77. MgoE = &mgo.MongodbSim{
  78. MongodbAddr: qu.ObjToString(ext["addr"]),
  79. DbName: qu.ObjToString(ext["db"]),
  80. Size: qu.IntAll(ext["size"]),
  81. }
  82. MgoE.InitPool()
  83. //es
  84. es := Config.Elas
  85. Index = qu.ObjToString(es["index"])
  86. Itype = qu.ObjToString(es["itype"])
  87. Es = &elastic.Elastic{
  88. S_esurl: qu.ObjToString(es["addr"]),
  89. I_size: qu.IntAll(es["pool"]),
  90. }
  91. Es.InitElasticSize()
  92. //
  93. tmpAllField := Arr{}
  94. AllFieldMap := map[string]string{}
  95. AllFieldArr = []map[string]string{}
  96. common, _ := Config.Biaozhu["common"].([]interface{})
  97. timeplace, _ := Config.Biaozhu["timeplace"].([]interface{})
  98. other, _ := Config.Biaozhu["other"].([]interface{})
  99. for _, com := range common {
  100. tmp := com.(map[string]interface{})
  101. key := qu.ObjToString(tmp["key"])
  102. if key == "" {
  103. continue
  104. }
  105. descript := qu.ObjToString(tmp["descript"])
  106. tmpAllField = append(tmpAllField, descript)
  107. AllFieldMap[descript] = key
  108. }
  109. for _, tp := range timeplace {
  110. tmp := tp.(map[string]interface{})
  111. key := qu.ObjToString(tmp["key"])
  112. descript := qu.ObjToString(tmp["descript"])
  113. tmpAllField = append(tmpAllField, descript)
  114. AllFieldMap[descript] = key
  115. }
  116. for _, o := range other {
  117. tmp := o.(map[string]interface{})
  118. key := qu.ObjToString(tmp["key"])
  119. descript := qu.ObjToString(tmp["descript"])
  120. tmpAllField = append(tmpAllField, descript)
  121. AllFieldMap[descript] = key
  122. }
  123. tmpAllField = append(tmpAllField, "标的物列表")
  124. tmpAllField = append(tmpAllField, "多包")
  125. tmpAllField = append(tmpAllField, "中标候选人")
  126. AllFieldMap["标的物列表"] = "purchasinglist"
  127. AllFieldMap["多包"] = "package"
  128. AllFieldMap["中标候选人"] = "winnerorder"
  129. sort.Sort(tmpAllField)
  130. for _, f := range tmpAllField {
  131. AllFieldArr = append(AllFieldArr, map[string]string{AllFieldMap[f]: f})
  132. }
  133. //
  134. PurchasinglistField = []map[string]string{}
  135. pcls, _ := Config.Biaozhu["purchasinglist"].([]interface{})
  136. for _, pcl := range pcls {
  137. tmp := pcl.(map[string]interface{})
  138. key := qu.ObjToString(tmp["key"])
  139. descript := qu.ObjToString(tmp["descript"])
  140. PurchasinglistField = append(PurchasinglistField, map[string]string{key: descript})
  141. }
  142. PackageField = []map[string]string{}
  143. pkgs, _ := Config.Biaozhu["package"].([]interface{})
  144. for _, pkg := range pkgs {
  145. tmp := pkg.(map[string]interface{})
  146. key := qu.ObjToString(tmp["key"])
  147. descript := qu.ObjToString(tmp["descript"])
  148. PackageField = append(PackageField, map[string]string{key: descript})
  149. }
  150. WinnerorderField = []map[string]string{}
  151. wods, _ := Config.Biaozhu["winnerorder"].([]interface{})
  152. for _, wod := range wods {
  153. tmp := wod.(map[string]interface{})
  154. key := qu.ObjToString(tmp["key"])
  155. descript := qu.ObjToString(tmp["descript"])
  156. WinnerorderField = append(WinnerorderField, map[string]string{key: descript})
  157. }
  158. //qu.Debug(PurchasinglistField, PackageField, WinnerorderField)
  159. //公告类型
  160. for top, v := range Config.TopSubType {
  161. tmp := v.([]interface{})
  162. for _, sub := range tmp {
  163. TopSubStypeArr = append(TopSubStypeArr, top+"-"+qu.ObjToString(sub))
  164. }
  165. }
  166. TopSubStypeArr2 = TopSubStypeArr
  167. TopSubStypeArr = append(TopSubStypeArr, SPECIALTYPE)
  168. }