|
@@ -0,0 +1,128 @@
|
|
|
+// demodata
|
|
|
+package main
|
|
|
+
|
|
|
+import (
|
|
|
+ "jy/mongodbutil"
|
|
|
+ "log"
|
|
|
+ "qfw/util"
|
|
|
+)
|
|
|
+
|
|
|
+//30个网站,10个信息分类,共计5000条样例数据
|
|
|
+var sitenums = map[string]int{
|
|
|
+ "中国政府采购网": 1006,
|
|
|
+ "中国招标投标公共服务平台": 674,
|
|
|
+ "国家公共资源交易平台": 371,
|
|
|
+ "广东省政府采购网": 282,
|
|
|
+ "机电产品招标投标电子交易平台": 189,
|
|
|
+ "中国山东政府采购网": 183,
|
|
|
+ "中国华能集团公司": 177,
|
|
|
+ "湖北省政府采购网": 173,
|
|
|
+ "基建云采购": 166,
|
|
|
+ "浙江政府采购网": 141,
|
|
|
+ "中国大唐集团公司电子商务平台": 140,
|
|
|
+ "中国华电集团公司电子商务平台": 129,
|
|
|
+ "中国电力设备信息网": 122,
|
|
|
+ "安徽省政府采购网": 116,
|
|
|
+ "中国电信阳光采购网": 100,
|
|
|
+ "河北省政府采购网": 98,
|
|
|
+ "四川政府采购": 92,
|
|
|
+ "安徽省招标投标信息网": 85,
|
|
|
+ "中国山西政府采购网": 74,
|
|
|
+ "浙江省公共资源交易服务平台": 73,
|
|
|
+ "新疆维吾尔自治区政府采购网": 73,
|
|
|
+ "阿里巴巴大企业采购平台": 70,
|
|
|
+ "中国冶金科工集团有限公司采购电子商务平台": 64,
|
|
|
+ "广东省电子化采购执行平台": 62,
|
|
|
+ "河南省政府采购网": 60,
|
|
|
+ "国家能源e购": 57,
|
|
|
+ "铁路物资采购与招商平台": 57,
|
|
|
+ "兵器工业集团公司采购电子商务平台": 57,
|
|
|
+ "安徽合肥公共资源交易中心": 55,
|
|
|
+ "河北省公共资源交易信息网": 55,
|
|
|
+}
|
|
|
+
|
|
|
+var bidtypesP = map[string]float64{
|
|
|
+ "招标": 0.25,
|
|
|
+ "邀标": 0.03,
|
|
|
+ "询价": 0.10,
|
|
|
+ "竞谈": 0.06,
|
|
|
+ "单一": 0.03,
|
|
|
+ "竞价": 0.03,
|
|
|
+ "合同": 0.09,
|
|
|
+ "验收": 0.03,
|
|
|
+ "中标": 0.23,
|
|
|
+ "成交": 0.15,
|
|
|
+}
|
|
|
+
|
|
|
+var bidtypes = map[string]bool{
|
|
|
+ "招标": true, "邀标": true, "询价": true, "竞价": true, "竞谈": true,
|
|
|
+ "单一": true, "中标": true, "成交": true, "合同": true, "验收": true,
|
|
|
+}
|
|
|
+var sitebidtypesNum = map[string]int{}
|
|
|
+
|
|
|
+func mainT() {
|
|
|
+ ext := mongodbutil.MgoFactory(1, 3, 120, "192.168.3.207:27092", "extract_kf")
|
|
|
+ // ls, _ := ext.Find("demo_data", nil, nil, nil, false, -1, -1)
|
|
|
+ // bidnum := map[string]int{}
|
|
|
+ // for _, v := range *ls {
|
|
|
+ // subtype, _ := v["subtype"].(string)
|
|
|
+ // bidnum[subtype] += 1
|
|
|
+ // }
|
|
|
+ // for k, v := range bidnum {
|
|
|
+ // log.Println(k, v)
|
|
|
+ // }
|
|
|
+ // os.Exit(0)
|
|
|
+ var total = 0
|
|
|
+ for site, num := range sitenums {
|
|
|
+ tt := 0
|
|
|
+ for stype, _ := range bidtypes {
|
|
|
+ n := bidtypesP[stype] * float64(num)
|
|
|
+ sitebidtypesNum[site+"-"+stype] = int(n)
|
|
|
+ total += int(n)
|
|
|
+ tt += int(n)
|
|
|
+ log.Println(site+"-"+stype, int(n))
|
|
|
+ }
|
|
|
+ log.Println(site, tt)
|
|
|
+ }
|
|
|
+ log.Println(total)
|
|
|
+
|
|
|
+ db := mongodbutil.MgoFactory(1, 3, 120, "192.168.3.207:27083", "qfw")
|
|
|
+ it := db.Get().DB("qfw").C("bidding").Find(map[string]interface{}{
|
|
|
+ "_id": map[string]interface{}{
|
|
|
+ "$gt": util.StringTOBsonId("5df507000000000000000000"),
|
|
|
+ "$lt": util.StringTOBsonId("5e0a1f000000000000000000"),
|
|
|
+ },
|
|
|
+ }).Iter()
|
|
|
+ index := 0
|
|
|
+ datanum := 0
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp); index++ {
|
|
|
+ if index%1000 == 0 {
|
|
|
+ log.Println(index, datanum)
|
|
|
+ }
|
|
|
+ site, _ := tmp["site"].(string)
|
|
|
+ subtype, _ := tmp["subtype"].(string)
|
|
|
+ if !bidtypes[subtype] {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tp := site + "-" + subtype
|
|
|
+ if sitebidtypesNum[tp] > 0 {
|
|
|
+ sitebidtypesNum[tp] -= 1
|
|
|
+ } else {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ datanum++
|
|
|
+ ext.Update("demo_data", map[string]interface{}{"_id": tmp["_id"]}, tmp, true, false)
|
|
|
+ tmp = map[string]interface{}{}
|
|
|
+ }
|
|
|
+
|
|
|
+ log.Println("datanum", datanum)
|
|
|
+ ls, _ := ext.Find("demo_data", nil, nil, nil, false, -1, -1)
|
|
|
+ snum := map[string]int{}
|
|
|
+ for _, v := range *ls {
|
|
|
+ site, _ := v["site"].(string)
|
|
|
+ snum[site] += 1
|
|
|
+ }
|
|
|
+ for k, v := range snum {
|
|
|
+ log.Println(k, v)
|
|
|
+ }
|
|
|
+}
|