demo_data.go 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. // demodata
  2. package main
  3. import (
  4. "jy/mongodbutil"
  5. "log"
  6. "qfw/util"
  7. )
  8. //30个网站,10个信息分类,共计5000条样例数据
  9. var sitenums = map[string]int{
  10. "中国政府采购网": 1006,
  11. "中国招标投标公共服务平台": 674,
  12. "国家公共资源交易平台": 371,
  13. "广东省政府采购网": 282,
  14. "机电产品招标投标电子交易平台": 189,
  15. "中国山东政府采购网": 183,
  16. "中国华能集团公司": 177,
  17. "湖北省政府采购网": 173,
  18. "基建云采购": 166,
  19. "浙江政府采购网": 141,
  20. "中国大唐集团公司电子商务平台": 140,
  21. "中国华电集团公司电子商务平台": 129,
  22. "中国电力设备信息网": 122,
  23. "安徽省政府采购网": 116,
  24. "中国电信阳光采购网": 100,
  25. "河北省政府采购网": 98,
  26. "四川政府采购": 92,
  27. "安徽省招标投标信息网": 85,
  28. "中国山西政府采购网": 74,
  29. "浙江省公共资源交易服务平台": 73,
  30. "新疆维吾尔自治区政府采购网": 73,
  31. "阿里巴巴大企业采购平台": 70,
  32. "中国冶金科工集团有限公司采购电子商务平台": 64,
  33. "广东省电子化采购执行平台": 62,
  34. "河南省政府采购网": 60,
  35. "国家能源e购": 57,
  36. "铁路物资采购与招商平台": 57,
  37. "兵器工业集团公司采购电子商务平台": 57,
  38. "安徽合肥公共资源交易中心": 55,
  39. "河北省公共资源交易信息网": 55,
  40. }
  41. var bidtypesP = map[string]float64{
  42. "招标": 0.25,
  43. "邀标": 0.03,
  44. "询价": 0.10,
  45. "竞谈": 0.06,
  46. "单一": 0.03,
  47. "竞价": 0.03,
  48. "合同": 0.09,
  49. "验收": 0.03,
  50. "中标": 0.23,
  51. "成交": 0.15,
  52. }
  53. var bidtypes = map[string]bool{
  54. "招标": true, "邀标": true, "询价": true, "竞价": true, "竞谈": true,
  55. "单一": true, "中标": true, "成交": true, "合同": true, "验收": true,
  56. }
  57. var sitebidtypesNum = map[string]int{}
  58. func mainT() {
  59. ext := mongodbutil.MgoFactory(1, 3, 120, "192.168.3.207:27092", "extract_kf")
  60. // ls, _ := ext.Find("demo_data", nil, nil, nil, false, -1, -1)
  61. // bidnum := map[string]int{}
  62. // for _, v := range *ls {
  63. // subtype, _ := v["subtype"].(string)
  64. // bidnum[subtype] += 1
  65. // }
  66. // for k, v := range bidnum {
  67. // log.Println(k, v)
  68. // }
  69. // os.Exit(0)
  70. var total = 0
  71. for site, num := range sitenums {
  72. tt := 0
  73. for stype, _ := range bidtypes {
  74. n := bidtypesP[stype] * float64(num)
  75. sitebidtypesNum[site+"-"+stype] = int(n)
  76. total += int(n)
  77. tt += int(n)
  78. log.Println(site+"-"+stype, int(n))
  79. }
  80. log.Println(site, tt)
  81. }
  82. log.Println(total)
  83. db := mongodbutil.MgoFactory(1, 3, 120, "192.168.3.207:27083", "qfw")
  84. it := db.Get().DB("qfw").C("bidding").Find(map[string]interface{}{
  85. "_id": map[string]interface{}{
  86. "$gt": util.StringTOBsonId("5df507000000000000000000"),
  87. "$lt": util.StringTOBsonId("5e0a1f000000000000000000"),
  88. },
  89. }).Iter()
  90. index := 0
  91. datanum := 0
  92. for tmp := make(map[string]interface{}); it.Next(&tmp); index++ {
  93. if index%1000 == 0 {
  94. log.Println(index, datanum)
  95. }
  96. site, _ := tmp["site"].(string)
  97. subtype, _ := tmp["subtype"].(string)
  98. if !bidtypes[subtype] {
  99. continue
  100. }
  101. tp := site + "-" + subtype
  102. if sitebidtypesNum[tp] > 0 {
  103. sitebidtypesNum[tp] -= 1
  104. } else {
  105. continue
  106. }
  107. datanum++
  108. ext.Update("demo_data", map[string]interface{}{"_id": tmp["_id"]}, tmp, true, false)
  109. tmp = map[string]interface{}{}
  110. }
  111. log.Println("datanum", datanum)
  112. ls, _ := ext.Find("demo_data", nil, nil, nil, false, -1, -1)
  113. snum := map[string]int{}
  114. for _, v := range *ls {
  115. site, _ := v["site"].(string)
  116. snum[site] += 1
  117. }
  118. for k, v := range snum {
  119. log.Println(k, v)
  120. }
  121. }