123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- // 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)
- }
- }
|