|
@@ -38,21 +38,971 @@ var Url = "https://www.jianyu360.com/article/content/%s.html"
|
|
|
var wordsArr = []string{}
|
|
|
var MysqlTool *Mysql
|
|
|
|
|
|
+//导出数据-bidding相关
|
|
|
+func exportFromMongoToBiddingData(from string,to string){
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q,total:=map[string]interface{}{},0
|
|
|
+ it := sess.DB(save_mgo.DbName).C(from).Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%1000==0 {
|
|
|
+ log.Debug("curent index ",total)
|
|
|
+ }
|
|
|
+ tmpid := qu.ObjToString(tmp["_id"])
|
|
|
+ data := save_mgo.FindById("bidding",tmpid)
|
|
|
+ if data!=nil && len(data)>2 {
|
|
|
+ save_mgo.Save(to,data)
|
|
|
+ }else {
|
|
|
+ data = save_mgo.FindById("bidding_back",tmpid)
|
|
|
+ if data!=nil && len(data)>2 {
|
|
|
+ save_mgo.Save(to,data)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ",total)
|
|
|
+}
|
|
|
+//导出数据-extract相关
|
|
|
+func exportFromMongoToExtractData(from string,to string){
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q,total:=map[string]interface{}{},0
|
|
|
+ it := sess.DB(save_mgo.DbName).C(from).Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%1000==0 {
|
|
|
+ log.Debug("curent index ",total)
|
|
|
+ }
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ data := save_mgo.FindById("result_20220219",tmpid)
|
|
|
+ if data!=nil && len(data)>2 {
|
|
|
+ save_mgo.Save(to,data)
|
|
|
+ }else {
|
|
|
+ data = save_mgo.FindById("result_20220218",tmpid)
|
|
|
+ if data!=nil && len(data)>2 {
|
|
|
+ save_mgo.Save(to,data)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ",total)
|
|
|
+}
|
|
|
+
|
|
|
+//秘钥~base64
|
|
|
+func encodeSEUrl(){
|
|
|
+ var SE = qu.SimpleEncrypt{Key: "topJYBX2019"}
|
|
|
+ SE.EncodeString("tmpid_string")
|
|
|
+}
|
|
|
+
|
|
|
//解密
|
|
|
func decodeJyUrl() {
|
|
|
- test := "ABCY1wAdTwFLy0vNFV5cAdaJSc%2FCj1mcVVhKCg7LS43a2BzdCNUCXg%3D"
|
|
|
+ test := "ABCY1wAfikFIywvEmd5cwcOCzIoIDRgYWR0KB4nIC4ee2Bzfw1UCLw%3D"
|
|
|
var Decode = qu.CommonDecodeArticle("content", test)
|
|
|
log.Debug(Decode[0])
|
|
|
return
|
|
|
}
|
|
|
+//加密
|
|
|
+func encodeJyUrl() {
|
|
|
+ var Url = "https://www.jianyu360.com/article/content/%s.html"
|
|
|
+ var Encode = fmt.Sprintf(Url, qu.CommonEncodeArticle("content", "595a08e261a0721f158d0f90"))
|
|
|
+ log.Debug(Encode)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//导出错误中标单位数据
|
|
|
+func exportWinnerErrData() {
|
|
|
+ elastic.InitElasticSize("http://127.0.0.1:13001",10)
|
|
|
+ //es_data:=*elastic.Get("bidding","bidding",query)
|
|
|
+ num:=0
|
|
|
+ arr := make([]string,0)
|
|
|
+ for i:=0;i<2;i++ {
|
|
|
+ str := ""
|
|
|
+ if i==0 {
|
|
|
+ str = fmt.Sprintf("%d",0)
|
|
|
+ }else {
|
|
|
+ str = fmt.Sprintf("%d",i*200+1)
|
|
|
+ }
|
|
|
+ query := `{"query":{"bool":{"must":[{"term":{"bidding.winner":"注册地在国家级贫困县域内物业公司"}}],"must_not":[],"should":[]}},`+`"from":"`+str+`","size":"200","sort":[],"facets":{},"_source":["_id"]}`
|
|
|
+ es_data:=*elastic.Get("bidding","bidding",query)
|
|
|
+ log.Debug("当前查询结果:",len(es_data))
|
|
|
+ for _,v := range es_data {
|
|
|
+ num++
|
|
|
+ tmpid := qu.ObjToString(v["_id"])
|
|
|
+ arr = append(arr,tmpid)
|
|
|
+ }
|
|
|
+ if num%1000==0 {
|
|
|
+ log.Debug("cur index ",num,"~",len(arr))
|
|
|
+ }
|
|
|
+ if es_data==nil || len(es_data)==0{
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ log.Debug("is over ",num,"~",len(arr))
|
|
|
+ for _,v := range arr {
|
|
|
+ save_mgo.Save("1111", map[string]interface{}{
|
|
|
+ "bidding_id":v,
|
|
|
+ })
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+//导出新标注~数据 字段验证
|
|
|
+func exportNewMarkedata(){
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total,isok:= map[string]interface{}{},0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("marked_new").Find(&q).Iter()
|
|
|
+ key_map ,key_arr := map[string]interface{}{
|
|
|
+ "area":1,
|
|
|
+ "city":1,
|
|
|
+ "buyer":1,
|
|
|
+ "agency":1,
|
|
|
+ "s_winner":1,
|
|
|
+ "budget":1,
|
|
|
+ "bidamount":1,
|
|
|
+ "projectcode":1,
|
|
|
+ "contractcode":1,
|
|
|
+ },[]string{
|
|
|
+ "area",
|
|
|
+ "city",
|
|
|
+ "buyer",
|
|
|
+ "agency",
|
|
|
+ "s_winner",
|
|
|
+ "budget",
|
|
|
+ "bidamount",
|
|
|
+ "projectcode",
|
|
|
+ "contractcode",
|
|
|
+ }
|
|
|
+ os.Remove("111111.xlsx")
|
|
|
+ f :=xlsx.NewFile()
|
|
|
+ sheet, _ := f.AddSheet("新标注~验证~")
|
|
|
+ row := sheet.AddRow()
|
|
|
+ row.AddCell().Value = "唯一标识"
|
|
|
+ for i := 0; i < len(key_arr); i++ {
|
|
|
+ row.AddCell().Value = key_arr[i]
|
|
|
+ }
|
|
|
+ row.AddCell().Value = "原文链接"
|
|
|
+ row.AddCell().Value = "剑鱼链接"
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ v_baseinfo:= *qu.ObjToMap(tmp["v_baseinfo"])
|
|
|
+ v_taginfo := *qu.ObjToMap(tmp["v_taginfo"])
|
|
|
+ dict := map[string]interface{}{}
|
|
|
+ for k,v := range v_taginfo {
|
|
|
+ if qu.IntAll(v)>1 && key_map[k]!=nil {
|
|
|
+ dict[k] = v_baseinfo[k]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(dict)>0 {
|
|
|
+ isok++
|
|
|
+ row := sheet.AddRow()
|
|
|
+ row.AddCell().Value = BsonTOStringId(tmp["_id"])
|
|
|
+ for _,v := range key_arr{
|
|
|
+ if v=="budget" || v=="bidamount" {
|
|
|
+ if v_baseinfo[v]!=nil {
|
|
|
+ row.AddCell().SetString(fmt.Sprintf("%f",qu.Float64All(v_baseinfo[v])))
|
|
|
+ }else {
|
|
|
+ row.AddCell().Value = ""
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ row.AddCell().Value = qu.ObjToString(v_baseinfo[v])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ row.AddCell().Value = qu.ObjToString(v_baseinfo["href"])
|
|
|
+ jyhref := fmt.Sprintf(Url, qu.CommonEncodeArticle("content", BsonTOStringId(tmp["_id"])))
|
|
|
+ row.AddCell().Value = jyhref
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+
|
|
|
+ err := f.Save("111111.xlsx")
|
|
|
+ if err != nil {
|
|
|
+ log.Debug("保存xlsx失败:", err)
|
|
|
+ return
|
|
|
+ }else {
|
|
|
+ log.Debug("保存xlsx成功:", err)
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//导出当前标签~
|
|
|
+func exportTagInfo(){
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total,isok:= map[string]interface{}{},0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("zktest_tag_info").Find(&q).Iter()
|
|
|
+
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ content := []string{}
|
|
|
+ if list, ok := tmp["content"].(primitive.A); ok {
|
|
|
+ content = qu.ObjArrToStringArr(list)
|
|
|
+ }else {
|
|
|
+ if list, ok := tmp["content"].([]interface{}); ok {
|
|
|
+ content = qu.ObjArrToStringArr(list)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ s_name := qu.ObjToString(tmp["s_name"])
|
|
|
+ s_field := qu.ObjToString(tmp["s_field"])
|
|
|
+ for _,v := range content {
|
|
|
+ isok++
|
|
|
+ save_mgo.Save("zktest_tag_unique", map[string]interface{}{
|
|
|
+ "s_name":s_name,
|
|
|
+ "s_field":s_field,
|
|
|
+ "t_name":v,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+}
|
|
|
+
|
|
|
+//对比数据...
|
|
|
+func comparativedata(){
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total,isok:= map[string]interface{}{},0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("zktest_alpha_bidding_new").Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ winner:= qu.ObjToString(tmp["winner"])
|
|
|
+ data := save_mgo.FindById("zktest_alpha_data",tmpid)
|
|
|
+ if data!=nil && len(data)>2 {
|
|
|
+ winner_ys := qu.ObjToString(data["winner_ys"])
|
|
|
+ is_ys := false
|
|
|
+ if ys,ok := data["is_ys"].(bool);ok {
|
|
|
+ is_ys = ys
|
|
|
+ }
|
|
|
+ if is_ys && winner==winner_ys {
|
|
|
+ isok++
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ log.Debug("异常~",tmpid)
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+}
|
|
|
+
|
|
|
+//对疑似单位打标记
|
|
|
+func playtagYswinner(){
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total,isok:= map[string]interface{}{},0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("zktest_alpha_data").Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ winner_ys:= qu.ObjToString(tmp["winner_ys"])
|
|
|
+ data := save_mgo.FindOne("qyxy_std", map[string]interface{}{
|
|
|
+ "company_name":winner_ys,
|
|
|
+ })
|
|
|
+ if data!=nil && len(data)>2 {
|
|
|
+ save_mgo.UpdateById("zktest_alpha_data",tmpid, map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "is_ys":true,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ isok++
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//导出~正文可能含有的单位数据
|
|
|
+func exportAZwinnerdata() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total,isok:= map[string]interface{}{
|
|
|
+ "_id": map[string]interface{}{
|
|
|
+ "$lt": StringTOBsonId("626d5d000000000000000000"),
|
|
|
+ },
|
|
|
+ },0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("bidding").Find(&q).Sort("-_id").Select(map[string]interface{}{
|
|
|
+ "subtype":1,
|
|
|
+ "detail":1,
|
|
|
+ "winner":1,
|
|
|
+ }).Iter()
|
|
|
+ var reg_str = regexp.MustCompile("[\u4E00-\u9FA5]{1,10}[A-Za-z]{1,5}[\u4E00-\u9FA5]{1,10}(公司|集团|单位|机构|企业|厂|场|院|所|店|中心|市|局|站|城|处|行|部|队|联合[会|体])")
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ subtype := qu.ObjToString(tmp["subtype"])
|
|
|
+ detail := qu.ObjToString(tmp["detail"])
|
|
|
+ winner := qu.ObjToString(tmp["winner"])
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ if (subtype=="中标"||subtype=="成交"||subtype=="合同"||subtype=="单一") &&
|
|
|
+ winner != "" {
|
|
|
+ str := reg_str.FindString(detail)
|
|
|
+ if str!="" {
|
|
|
+ if isHeadWordEqual(winner,str) {
|
|
|
+ total, hit := dealWithWordsRules(winner, str)
|
|
|
+ if hit>=total/2 {
|
|
|
+ isok++
|
|
|
+ log.Debug(tmpid,"~",str,"~",winner)
|
|
|
+ save_mgo.Save("zktest_alpha_data", map[string]interface{}{
|
|
|
+ "_id":tmp["_id"],
|
|
|
+ "winner":winner,
|
|
|
+ "winner_ys":str,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+}
|
|
|
+
|
|
|
+//计算首部词语是否一致
|
|
|
+func isHeadWordEqual(a string,b string) bool{
|
|
|
+ namea,nameb := []rune(a),[]rune(b)
|
|
|
+ new_a := string(namea[:2])
|
|
|
+ new_b := string(nameb[:2])
|
|
|
+ if new_a==new_b {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
+//击中数量以及比例
|
|
|
+func dealWithWordsRules(info_name string, source_name string) (int, int) {
|
|
|
+ total, hit := 0, 0
|
|
|
+ nameArr, _ := calculateWordCount(info_name)
|
|
|
+ _, total = calculateWordCount(source_name)
|
|
|
+ for _, v1 := range nameArr {
|
|
|
+ if strings.Contains(source_name, v1) {
|
|
|
+ hit++
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return total, hit
|
|
|
+}
|
|
|
+//分词结果
|
|
|
+func calculateWordCount(name string) ([]string, int) {
|
|
|
+ arr, space := make([]string, 0), 2
|
|
|
+ total := utf8.RuneCountInString(name) - (space - 1)
|
|
|
+ if name == "" || total <= 0 {
|
|
|
+ return arr, 0
|
|
|
+ }
|
|
|
+ nameRune := []rune(name)
|
|
|
+ for i := 0; i < total; i++ {
|
|
|
+ new_str := string(nameRune[i : space+i])
|
|
|
+ arr = append(arr, new_str)
|
|
|
+ }
|
|
|
+ return arr, len(arr)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//更新大金额数据~
|
|
|
+func updateToMuchMoneyData(){
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total,isok:= map[string]interface{}{},0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("20220406_bidamount_data").Find(&q).Sort("_id").Iter()
|
|
|
+
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ p_list := []string{}
|
|
|
+ if list, ok := tmp["data_flag_list"].(primitive.A); ok {
|
|
|
+ p_list = qu.ObjArrToStringArr(list)
|
|
|
+ }else {
|
|
|
+ if list, ok := tmp["data_flag_list"].([]interface{}); ok {
|
|
|
+ p_list = qu.ObjArrToStringArr(list)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if isConformWrong(p_list) {
|
|
|
+ bidamount := qu.Float64All(tmp["bidamount"])
|
|
|
+ new_bidamount := bidamount/float64(10000)
|
|
|
+ save_mgo.Save("00000", map[string]interface{}{
|
|
|
+ "bidamount":new_bidamount,
|
|
|
+ "_id" :StringTOBsonId(qu.ObjToString(tmp["_id"])),
|
|
|
+ })
|
|
|
+ isok++
|
|
|
+ }
|
|
|
+
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+}
|
|
|
+
|
|
|
+func isConformWrong(arr []string) bool {
|
|
|
+ if len(arr)>0 {
|
|
|
+ for _,v := range arr {
|
|
|
+ if v=="wrong_2"||v=="wrong_3"||v=="wrong_4" {
|
|
|
+
|
|
|
+ }else {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ return false
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//导出新版标注数据
|
|
|
+func exportMarkNewData() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total ,isok:= map[string]interface{}{
|
|
|
+ "comeintime": map[string]interface{}{
|
|
|
+ "$gte": 1653494400,
|
|
|
+ "$lt": 1653580800,
|
|
|
+ },
|
|
|
+ "publishtime": map[string]interface{}{
|
|
|
+ "$gte": 1653494400,
|
|
|
+ "$lt": 1653580800,
|
|
|
+ },
|
|
|
+ },0,0
|
|
|
+ limit := 500
|
|
|
+ dict := make(map[string]map[string]interface{},0)
|
|
|
+ log.Debug("准备遍历数据...")
|
|
|
+ it := sess.DB(save_mgo.DbName).C("result_20220219").Find(&q).Select(map[string]interface{}{
|
|
|
+ "site":1,
|
|
|
+ "subtype":1,
|
|
|
+ "toptype":1,
|
|
|
+ "repeat":1,
|
|
|
+ }).Sort("-_id").Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ s := ""
|
|
|
+ s1 := ""
|
|
|
+ for k,v := range dict{
|
|
|
+ if len(v) <= limit {
|
|
|
+ s1 += k+","
|
|
|
+ }else {
|
|
|
+ s += k+","
|
|
|
+ }
|
|
|
+ }
|
|
|
+ log.Debug("满足~",s)
|
|
|
+ log.Debug("不满足~",s1)
|
|
|
+ }
|
|
|
+ repeat := qu.IntAll(tmp["repeat"])
|
|
|
+ if repeat==1 {
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ subtype := qu.ObjToString(tmp["subtype"])
|
|
|
+ toptype := qu.ObjToString(tmp["toptype"])
|
|
|
+ site := qu.ObjToString(tmp["site"])
|
|
|
+ if toptype=="招标"|| subtype=="中标"||subtype=="成交"||subtype=="合同" {
|
|
|
+ isNext := true
|
|
|
+ if subtype=="招标"||subtype=="中标"||subtype=="竞谈"||subtype=="成交" {
|
|
|
+ if total % 3 !=0 {
|
|
|
+ isNext = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if isNext {
|
|
|
+ if dict[subtype]==nil {//无数据
|
|
|
+ dict[subtype] = map[string]interface{}{
|
|
|
+ site:tmpid,
|
|
|
+ }
|
|
|
+ isok++
|
|
|
+ save_mgo.Save("zktest_data", map[string]interface{}{
|
|
|
+ "_id":tmp["_id"],
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ d := dict[subtype]
|
|
|
+ if d[site]==nil && len(d)<=limit {
|
|
|
+ d[site] = tmpid
|
|
|
+ dict[subtype] = d
|
|
|
+ isok++
|
|
|
+ save_mgo.Save("zktest_data", map[string]interface{}{
|
|
|
+ "_id":tmp["_id"],
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if isok>10000 {
|
|
|
+ log.Debug("超过限制~结束")
|
|
|
+ break
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+
|
|
|
+ for k,v := range dict{
|
|
|
+ log.Debug(k,"~",len(v))
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//分析中标单位 不同数据
|
|
|
+func fenxiDiffWinnerData() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total ,isok:= map[string]interface{}{},0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("222222").Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ winner := qu.ObjToString(tmp["winner"])
|
|
|
+
|
|
|
+ data := save_mgo.FindById("111111",tmpid)
|
|
|
+ if data!=nil && len(data)>2 {
|
|
|
+ if winner!=qu.ObjToString(data["winner"]) {
|
|
|
+ isok++
|
|
|
+
|
|
|
+ save_mgo.Save("333333", map[string]interface{}{
|
|
|
+ "_id":tmp["_id"],
|
|
|
+ "new_winner":winner,
|
|
|
+ "old_winner":qu.ObjToString(data["winner"]),
|
|
|
+ "href":tmp["href"],
|
|
|
+ "jytest_href":tmp["jytest_href"],
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ log.Debug("异常...",tmp["_id"])
|
|
|
+ }
|
|
|
+
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+func update0519Data() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total ,isok:= map[string]interface{}{},0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("a_repair_bidding_data_new").Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total)
|
|
|
+ }
|
|
|
+ update := map[string]interface{}{}
|
|
|
+ if tmp["bidamount"]!=nil {
|
|
|
+ update["bidamount"] = tmp["bidamount"]
|
|
|
+ }
|
|
|
+ if tmp["biddiscount"]!=nil {
|
|
|
+ update["biddiscount"] = tmp["biddiscount"]
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(update)>0 {
|
|
|
+ isok++
|
|
|
+ python_mgo.UpdateQueryData("20220505Hs_kcsj", map[string]interface{}{
|
|
|
+ "id":BsonTOStringId(tmp["_id"]),
|
|
|
+ }, map[string]interface{}{
|
|
|
+ "$set": update,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ...",total,isok)
|
|
|
+}
|
|
|
+
|
|
|
+//导出空数据
|
|
|
+func exportBidamountKongData(){
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total := map[string]interface{}{},0
|
|
|
+ dict := map[string]interface{}{}
|
|
|
+ it := sess.DB(save_mgo.DbName).C("111111111").Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total)
|
|
|
+ }
|
|
|
+ site := qu.ObjToString(tmp["site"])
|
|
|
+ if dict[site] != nil {
|
|
|
+ num := qu.IntAll(dict[site])+ 1
|
|
|
+ dict[site] = num
|
|
|
+ }else {
|
|
|
+ dict[site] =1
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over buyer...",total)
|
|
|
+ rankArr := []int{}
|
|
|
+ siteArr := []string{}
|
|
|
+ for k,v := range dict {
|
|
|
+ siteArr = append(siteArr,k)
|
|
|
+ rankArr = append(rankArr,qu.IntAll(v))
|
|
|
+ }
|
|
|
+ rankArr,siteArr = preMethodSort(rankArr,siteArr)
|
|
|
+ log.Debug(len(rankArr),len(siteArr))
|
|
|
+ for k,v := range rankArr{
|
|
|
+ save_mgo.Save("aaaaaa", map[string]interface{}{
|
|
|
+ "rank" : k+1,
|
|
|
+ "total":v,
|
|
|
+ "site" : siteArr[k],
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func preMethodSort(slice []int , site []string) ([]int,[]string) {
|
|
|
+ for n := 0; n <= len(slice); n++ {
|
|
|
+ for i := 1; i < len(slice)-n; i++ {
|
|
|
+ if slice[i] > slice[i-1] {
|
|
|
+ slice[i], slice[i-1] = slice[i-1], slice[i]
|
|
|
+ site[i], site[i-1] = site[i-1], site[i]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return slice,site
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//更新
|
|
|
+func updateBuyerCGYX() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total,isok := map[string]interface{}{},0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("aaaaaaa").Find(&q).Select(map[string]interface{}{
|
|
|
+ "buyer":1,
|
|
|
+ }).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ buyer := qu.ObjToString(tmp["buyer"])
|
|
|
+ if buyer!="" {
|
|
|
+ save_mgo.UpdateById("20220514_Rj_bidding",tmpid, map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "buyer":buyer,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over buyer...",total,isok)
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//处理错误异常数据...
|
|
|
+func dealWithErrWordata() {
|
|
|
+
|
|
|
+ str_arr := qu.ObjArrToStringArr(sysconfig["rp_blacklist"].([]interface{}))
|
|
|
+ strs := strings.Join(str_arr,"|")
|
|
|
+ strs = "("+strs+")"
|
|
|
+ var reg = regexp.MustCompile(strs)
|
|
|
+
|
|
|
+
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total := map[string]interface{}{},0
|
|
|
+ is_err := 0
|
|
|
+
|
|
|
+ dict := map[string][]string{}
|
|
|
+ it := sess.DB(save_mgo.DbName).C("winner_err").Find(&q).Sort("_id").Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,is_err)
|
|
|
+ }
|
|
|
+ name := qu.ObjToString(tmp["name"])
|
|
|
+ s := reg.FindString(name)
|
|
|
+ if s!="" {
|
|
|
+ //log.Debug(reg.FindString(name),"~",name)
|
|
|
+ if dict[s]==nil {
|
|
|
+ dict[s] = []string{name}
|
|
|
+ }else {
|
|
|
+ arr := dict[s]
|
|
|
+ arr = append(arr,name)
|
|
|
+ dict[s] = arr
|
|
|
+ }
|
|
|
+ is_err++
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+
|
|
|
+ for k,v := range dict{
|
|
|
+ save_mgo.Save("winner_err_data", map[string]interface{}{
|
|
|
+ "word":k,
|
|
|
+ "name":v,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ log.Debug(len(dict))
|
|
|
+ log.Debug("is over ",total,is_err)
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func exportNewCityFieldData() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total := map[string]interface{}{
|
|
|
+ "_id": map[string]interface{}{
|
|
|
+ "$lte": StringTOBsonId("6245d0000000000000000000"),
|
|
|
+ },
|
|
|
+ },0
|
|
|
+ isok := 0
|
|
|
+ site_data := map[string]int{}
|
|
|
+ it := sess.DB(save_mgo.DbName).C("bidding").Find(&q).Sort("-_id").Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ site := qu.ObjToString(tmp["site"])
|
|
|
+ area := qu.ObjToString(tmp["area"])
|
|
|
+ city := qu.ObjToString(tmp["city"])
|
|
|
+ if area!="全国"&&area!=""&&city=="" {
|
|
|
+ num := qu.IntAll(site_data[site])+1
|
|
|
+ if num<10 {
|
|
|
+ site_data[site] = num
|
|
|
+ isok++
|
|
|
+ save_mgo.Save("zktest_city_field_test",tmp)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if isok>=1000 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ",total,isok)
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+//导出-bidding-新字段数据
|
|
|
+func exportNewFieldData() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total := map[string]interface{}{
|
|
|
+ "_id": map[string]interface{}{
|
|
|
+ "$lte": StringTOBsonId("61cf29000000000000000000"),
|
|
|
+ },
|
|
|
+ },0
|
|
|
+ isok := 0
|
|
|
+ var reg_str = regexp.MustCompile("(递交开始)")
|
|
|
+
|
|
|
+ it := sess.DB(save_mgo.DbName).C("bidding").Find(&q).Sort("-_id").Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%10000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ toptype := qu.ObjToString(tmp["toptype"])
|
|
|
+ if toptype!="招标" {
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ detail := qu.ObjToString(tmp["detail"])
|
|
|
+ if reg_str.MatchString(detail) {
|
|
|
+ isok++
|
|
|
+ save_mgo.Save("zktest_extract_field",tmp)
|
|
|
+ }
|
|
|
+ if isok>=200 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ",total,isok)
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+//万倍金额标记
|
|
|
+func isMarkMuchMoney() {
|
|
|
+ var reg1 = regexp.MustCompile("0000.000000$")
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total := map[string]interface{}{},0
|
|
|
+ isok := 0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("20220406_bidamount_data").Find(&q).Select(map[string]interface{}{
|
|
|
+ "bidamount":1,
|
|
|
+ }).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%1000==0 {
|
|
|
+ log.Debug("cur index ",total,isok)
|
|
|
+ }
|
|
|
+ bidamount := qu.Float64All(tmp["bidamount"])
|
|
|
+ money_str := fmt.Sprintf("%f",bidamount)
|
|
|
+ if reg1.MatchString(money_str) {
|
|
|
+ isok++
|
|
|
+ save_mgo.UpdateStrId("20220406_bidamount_data",qu.ObjToString(tmp["_id"]), map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "is_wan":1,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ",total,isok)
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+//导出模板数据
|
|
|
+func expMoBanShuJu() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total := map[string]interface{}{},0
|
|
|
+ ok_1,ok_2 := 0,0
|
|
|
+ it := sess.DB(save_mgo.DbName).C("zktest_marked").Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%1000==0 {
|
|
|
+ log.Debug("cur index ",total,ok_1,ok_2)
|
|
|
+ }
|
|
|
+ if total % 3 != 0 {
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ //预计1200 4800拉取数据
|
|
|
+ ck_buyer := qu.Int64All(tmp["ck_buyer"])
|
|
|
+ ck_s_winner := qu.Int64All(tmp["ck_s_winner"])
|
|
|
+ ck_agency := qu.Int64All(tmp["ck_agency"])
|
|
|
+ ck_budget := qu.Int64All(tmp["ck_budget"])
|
|
|
+ ck_bidamount := qu.Int64All(tmp["ck_bidamount"])
|
|
|
+ if ck_buyer>1 || ck_s_winner>1 || ck_agency>1 || ck_budget>1 || ck_bidamount>1{
|
|
|
+ ok_1++
|
|
|
+ save_mgo.Save("zktest_ext_example",tmp)
|
|
|
+ }else {
|
|
|
+ ok_2++
|
|
|
+ save_mgo.Save("zktest_ext_example",tmp)
|
|
|
+ }
|
|
|
+
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ",total,ok_1,ok_2)
|
|
|
+}
|
|
|
+
|
|
|
+//修复城市数据
|
|
|
+func repairExtCity() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total := map[string]interface{}{},0
|
|
|
+ ok_1,ok_2 := 0,0
|
|
|
+ it := sess.DB("qfw").C("zktest_xxs_city_new").Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%1000==0 {
|
|
|
+ log.Debug("cur index ",total,ok_1,ok_2)
|
|
|
+ }
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ new_area := qu.ObjToString(tmp["area"])
|
|
|
+ new_city := qu.ObjToString(tmp["city"])
|
|
|
+ new_district := qu.ObjToString(tmp["district"])
|
|
|
+ data_1 := save_mgo.FindById("result_20220218",tmpid)
|
|
|
+ if data_1!=nil && len(data_1)>2 {
|
|
|
+ ok_1++
|
|
|
+ save_mgo.UpdateById("result_20220218",tmpid, map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "area":new_area,
|
|
|
+ "city":new_city,
|
|
|
+ "district":new_district,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ data_2 := save_mgo.FindById("result_20220219",tmpid)
|
|
|
+ if data_2!=nil && len(data_2)>2 {
|
|
|
+ ok_2++
|
|
|
+ save_mgo.UpdateById("result_20220219",tmpid, map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "area":new_area,
|
|
|
+ "city":new_city,
|
|
|
+ "district":new_district,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+ log.Debug("is over ",total,ok_1,ok_2)
|
|
|
+}
|
|
|
+
|
|
|
+func repairRepeatData0308() {
|
|
|
+ sess := save_mgo.GetMgoConn()
|
|
|
+ defer save_mgo.DestoryMongoConn(sess)
|
|
|
+ q ,total := map[string]interface{}{},0
|
|
|
+ ok_1,ok_2 := 0,0
|
|
|
+ it := sess.DB("qfw").C("zktest_repeat_test").Find(&q).Iter()
|
|
|
+ for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
+ if total%1000==0 {
|
|
|
+ log.Debug("cur index ",total,ok_1,ok_2)
|
|
|
+ }
|
|
|
+
|
|
|
+ tmpid := BsonTOStringId(tmp["_id"])
|
|
|
+ repeat_id := qu.ObjToString(tmp["repeat_id"])
|
|
|
+ repeat_reason := qu.ObjToString(tmp["repeat_reason"])
|
|
|
+
|
|
|
+ bidding_data := python_mgo.FindById("bidding",tmpid)
|
|
|
+ if bidding_data!=nil && len(bidding_data)>2 {
|
|
|
+ publishtime := qu.Int64All(bidding_data["publishtime"])
|
|
|
+ data_1 := save_mgo.FindById("result_20220218",tmpid)
|
|
|
+ if data_1!=nil && len(data_1)>2 {
|
|
|
+ if publishtime < 0 {
|
|
|
+ log.Debug(tmpid)
|
|
|
+ ok_1++
|
|
|
+ save_mgo.UpdateById("result_20220218",tmpid, map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "repeat":1,
|
|
|
+ "repeat_id":repeat_id,
|
|
|
+ "repeat_reason":repeat_reason,
|
|
|
+ "publishtime":publishtime,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ data_2 := save_mgo.FindById("result_20220219",tmpid)
|
|
|
+ if data_2!=nil && len(data_2)>2 {
|
|
|
+ if publishtime < 0 {
|
|
|
+ log.Debug(tmpid)
|
|
|
+ ok_2++
|
|
|
+ save_mgo.UpdateById("result_20220219",tmpid, map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "repeat":1,
|
|
|
+ "repeat_id":repeat_id,
|
|
|
+ "repeat_reason":repeat_reason,
|
|
|
+ "publishtime":publishtime,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ log.Debug("异常-需要处理...",tmpid)
|
|
|
+ //data_1 := save_mgo.FindById("result_20220218",tmpid)
|
|
|
+ //if data_1!=nil && len(data_1)>2 {
|
|
|
+ // save_mgo.DeleteById("result_20220218",tmpid)
|
|
|
+ //}
|
|
|
+ //data_2 := save_mgo.FindById("result_20220219",tmpid)
|
|
|
+ //if data_2!=nil && len(data_2)>2 {
|
|
|
+ // save_mgo.DeleteById("result_20220219",tmpid)
|
|
|
+ //}
|
|
|
+ }
|
|
|
+
|
|
|
+ tmp = make(map[string]interface{})
|
|
|
+ }
|
|
|
+
|
|
|
+ log.Debug("is over ",total,ok_1,ok_2)
|
|
|
+
|
|
|
|
|
|
-//加密
|
|
|
-func encodeJyUrl() {
|
|
|
- var Url = "https://www.jianyu360.com/article/content/%s.html"
|
|
|
- var Encode = fmt.Sprintf(Url, qu.CommonEncodeArticle("content", "5fd2f37bf0f9d716c171c021"))
|
|
|
- log.Debug(Encode)
|
|
|
}
|
|
|
|
|
|
+
|
|
|
//修复抽取数据
|
|
|
func addCityXinXingExt() {
|
|
|
/*
|
|
@@ -833,30 +1783,7 @@ func updateMarkData() {
|
|
|
}
|
|
|
log.Debug("is over ",total)
|
|
|
}
|
|
|
-//导出数据-bidding相关
|
|
|
-func expoetFromMongoToBiddingData(){
|
|
|
- sess := save_mgo.GetMgoConn()
|
|
|
- defer save_mgo.DestoryMongoConn(sess)
|
|
|
- q,total:=map[string]interface{}{},0
|
|
|
- it := sess.DB(save_mgo.DbName).C("zktest_allfield_id").Find(&q).Iter()
|
|
|
- for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
- if total%1000==0 {
|
|
|
- log.Debug("curent index ",total)
|
|
|
- }
|
|
|
- tmpid := BsonTOStringId(tmp["_id"])
|
|
|
- data := save_mgo.FindById("bidding",tmpid)
|
|
|
- if data!=nil && len(data)>2 {
|
|
|
- save_mgo.Save("zktest_allfield_bidding",data)
|
|
|
- }else {
|
|
|
- data = save_mgo.FindById("bidding_back",tmpid)
|
|
|
- if data!=nil && len(data)>2 {
|
|
|
- save_mgo.Save("zktest_allfield_bidding",data)
|
|
|
- }
|
|
|
- }
|
|
|
- tmp = make(map[string]interface{})
|
|
|
- }
|
|
|
- log.Debug("is over ",total)
|
|
|
-}
|
|
|
+
|
|
|
//导出标注数据-id
|
|
|
func exportAllFieldBiaoZhuData() {
|
|
|
elastic.InitElasticSize("http://127.0.0.1:12003",10)
|