Browse Source

Merge branch 'develop' into release

wangchuanjin 9 years ago
parent
commit
47a52f8201

+ 48 - 44
common/src/main.go

@@ -43,76 +43,80 @@ func main() {
 	if isEnterprise {
 	if isEnterprise {
 		dbType = "ecps"
 		dbType = "ecps"
 	}
 	}
-	count := Count(os.Args[4], dbType, "qfw", dbType)
-	totalPages := ((count + N - 1) / N)
-	log.Println(util.If(isEnterprise, "公式库", "网站库"), os.Args[4], "表有", count, "条数据", "一共", totalPages, "页")
+	count := Count(os.Args[4], dbType, "qfw", m)
+	log.Println(util.If(isEnterprise, "公式库", "网站库"), os.Args[4], "表有", count, "条数据")
 	sess := GetMgoConn(dbType)
 	sess := GetMgoConn(dbType)
 	defer DestoryMongoConn(dbType, sess)
 	defer DestoryMongoConn(dbType, sess)
 	query := sess.DB("qfw").C(os.Args[4]).Find(m).Iter()
 	query := sess.DB("qfw").C(os.Args[4]).Find(m).Iter()
 	arr := make([]map[string]interface{}, 0)
 	arr := make([]map[string]interface{}, 0)
 	i := 0
 	i := 0
 	for tmp := make(map[string]interface{}); query.Next(tmp); i++ {
 	for tmp := make(map[string]interface{}); query.Next(tmp); i++ {
-		if i >= 12690000 {
-			arr = append(arr, elastic.ConverData(&tmp))
-			if len(arr) == N {
-				elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
-				arr = make([]map[string]interface{}, 0)
-			}
+		arr = append(arr, elastic.ConverData(&tmp))
+		if len(arr) == N {
+			elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
+			arr = make([]map[string]interface{}, 0)
 		}
 		}
 		if i%N == 0 {
 		if i%N == 0 {
 			log.Printf("当前索引位置:=%d \n", i)
 			log.Printf("当前索引位置:=%d \n", i)
 		}
 		}
 	}
 	}
-	log.Println("剩余.....", len(arr))
 	if len(arr) > 0 {
 	if len(arr) > 0 {
+		log.Println("剩余.....", len(arr))
 		elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
 		elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
 		arr = make([]map[string]interface{}, 0)
 		arr = make([]map[string]interface{}, 0)
 	}
 	}
 	if isEnterprise {
 	if isEnterprise {
-		//生成带名片索引
 		i = 0
 		i = 0
+		s := 0
+		//生成带名片索引
 		count := Count("enterprise", "web", "qfw", m)
 		count := Count("enterprise", "web", "qfw", m)
 		log.Println("网站库enterprise表,一共", count, "条数据")
 		log.Println("网站库enterprise表,一共", count, "条数据")
-		for {
-			limit := i + N
-			if limit > count {
-				limit = count
+		query := *Find("enterprise", "web", "qfw", m, nil, nil, false, -1, -1)
+		regNos := make([]string, 0)
+		arr := make([]map[string]interface{}, 0)
+		if len(query) > 0 {
+			for _, v := range query {
+				if v["_id"] != nil {
+					regno := fmt.Sprint(v["RegNo"])
+					regNos = append(regNos, "\""+regno+"\"")
+					delete(v, "_id")
+				}
+			}
+			findstr := `{"RegNo":{"$in":[` + strings.Join(regNos, ",") + `]}}`
+			query1 := *Find("enterprise", "ecps", "qfw", findstr, nil, nil, false, -1, -1)
+			query1Map := make(map[string]interface{})
+			for _, _v := range query1 {
+				query1Map[fmt.Sprint(_v["RegNo"])] = _v
 			}
 			}
-			query := *Find("enterprise", "web", "qfw", m, nil, nil, false, i, i+N)
-			regNos := make([]string, 0)
-			arr := make([]map[string]interface{}, 0)
-			if len(query) > 0 {
-				for _, v := range query {
-					if v["_id"] != nil {
-						regno := fmt.Sprint(v["RegNo"])
-						regNos = append(regNos, "\""+regno+"\"")
-						delete(v, "_id")
+			for _, v := range query {
+				if len(v) > 1 {
+					i++
+					_v, _ := query1Map[fmt.Sprint(v["RegNo"])].(map[string]interface{})
+					if _v == nil || len(_v) == 0 {
+						s++
+						continue
 					}
 					}
-				}
-
-				findstr := `{"RegNo":{"$in":[` + strings.Join(regNos, ",") + `]}}`
-				query1 := *Find("enterprise", "ecps", "qfw", findstr, nil, nil, false, -1, -1)
-				for _, v := range query {
-					for _, _v := range query1 {
-						if fmt.Sprint(_v["RegNo"]) == fmt.Sprint(v["RegNo"]) {
-							delete(v, "_id")
-							if len(v) > 1 {
-								for field, value := range v {
-									_v[field] = value
-								}
-								arr = append(arr, elastic.ConverData(&_v))
-							}
-						}
+					for field, value := range v {
+						_v[field] = value
+					}
+					arr = append(arr, elastic.ConverData(&_v))
+					if len(arr) == N {
+						elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
+						arr = make([]map[string]interface{}, 0)
+					}
+					if i%N == 0 {
+						log.Printf("当前索引位置:=%d \n", i)
 					}
 					}
 				}
 				}
+			}
+			if len(arr) > 0 {
+				log.Println("剩余.....", len(arr))
 				elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
 				elastic.BulkSave(os.Args[6], os.Args[7], &arr, true)
+				arr = make([]map[string]interface{}, 0)
 			}
 			}
-			if i >= count {
-				break
-			} else {
-				i = i + N
+			if s > 0 {
+				log.Println("网站库有", s, "条在公式库中找不到")
 			}
 			}
-			log.Printf("当前索引位置:=%d \n", i)
 		}
 		}
 	}
 	}
 	log.Println("-------------结束-----------------")
 	log.Println("-------------结束-----------------")

+ 12 - 3
core/src/qfw/search/searchService.go

@@ -342,9 +342,18 @@ func searhWebContentent(querymap map[string]string, n *Search, reqType string) (
 						}
 						}
 					}
 					}
 
 
-					//str += `{"prefix":{"OpLocDistrict":"` + ipcity + `"}}`
 					tempBisOne = true
 					tempBisOne = true
 					query = `{"query": {
 					query = `{"query": {
+						"bool": {
+							  "must":[{"prefix":{"OpLocDistrict":"` + ipcity + `"}}]
+						    }
+						}
+						,"_source":["_id","EntName","RegOrgName","RegNo","EntType","LeRep","EstDate","OpLocDistrictName","RegCap","OpStateName","OpState","s_servicenames","s_action","OpLocDistrict","s_submitid","RegCapCurName","s_avatar","excDirect"]
+						,"from":0,
+						"size":` + fmt.Sprintf("%v", perPage) + `,
+						  "sort": [{"_score": "desc"},{"OpSint":"desc"},{"RegCap":"desc"}]
+						}`
+					/*query = `{"query": {
 					"function_score": {
 					"function_score": {
 						      "script_score": {
 						      "script_score": {
 						        "script": "if(doc['OpLocDistrict'].value&&doc['OpLocDistrict'].value.substring(0,2)=='` + ipcity + `') return 1 else return 0"
 						        "script": "if(doc['OpLocDistrict'].value&&doc['OpLocDistrict'].value.substring(0,2)=='` + ipcity + `') return 1 else return 0"
@@ -355,7 +364,7 @@ func searhWebContentent(querymap map[string]string, n *Search, reqType string) (
 						,"from":0,
 						,"from":0,
 						"size":` + fmt.Sprintf("%v", perPage) + `,
 						"size":` + fmt.Sprintf("%v", perPage) + `,
 						  "sort": [{"_score": "desc"},{"OpSint":"desc"},{"RegCap":"desc"}]
 						  "sort": [{"_score": "desc"},{"OpSint":"desc"},{"RegCap":"desc"}]
-						}`
+						}`*/
 				}
 				}
 			}
 			}
 		}
 		}
@@ -546,7 +555,7 @@ func searhWebContentent(querymap map[string]string, n *Search, reqType string) (
 			//处理分公司
 			//处理分公司
 			if res[i]["RegCapEntType"] != nil && res[i]["RegCapEntType"].(string) != "" {
 			if res[i]["RegCapEntType"] != nil && res[i]["RegCapEntType"].(string) != "" {
 				RegCapEntType := res[i]["RegCapEntType"].(string)
 				RegCapEntType := res[i]["RegCapEntType"].(string)
-				if RegCapEntType == "5810" || RegCapEntType == "6810" || RegCapEntType == "7310" || RegCapEntType == "3200" || RegCapEntType == "3100" {
+				if RegCapEntType == "5810" || RegCapEntType == "6810" || RegCapEntType == "7310" {
 					res[i]["RegCapEntType"] = "5810"
 					res[i]["RegCapEntType"] = "5810"
 				} else if len(RegCapEntType) > 1 {
 				} else if len(RegCapEntType) > 1 {
 					if RegCapEntType[:1] == "2" {
 					if RegCapEntType[:1] == "2" {

+ 1 - 1
core/src/qfw/search/wxsearchservice.go

@@ -331,7 +331,7 @@ func wxsearhWebContentent(querymap map[string]string, n *Wxsearch, reqType strin
 			//处理分公司
 			//处理分公司
 			if res[i]["RegCapEntType"] != nil && res[i]["RegCapEntType"].(string) != "" {
 			if res[i]["RegCapEntType"] != nil && res[i]["RegCapEntType"].(string) != "" {
 				RegCapEntType := res[i]["RegCapEntType"].(string)
 				RegCapEntType := res[i]["RegCapEntType"].(string)
-				if RegCapEntType == "5810" || RegCapEntType == "6810" || RegCapEntType == "7310" || RegCapEntType == "3200" || RegCapEntType == "3100" {
+				if RegCapEntType == "5810" || RegCapEntType == "6810" || RegCapEntType == "7310" {
 					res[i]["RegCapEntType"] = "5810"
 					res[i]["RegCapEntType"] = "5810"
 				} else if len(RegCapEntType) > 1 {
 				} else if len(RegCapEntType) > 1 {
 					if RegCapEntType[:1] == "2" {
 					if RegCapEntType[:1] == "2" {

+ 17 - 17
core/src/qfw/yellowpage/yellowpagemanager.go

@@ -83,7 +83,7 @@ func GetEntInfo(id string) map[string]interface{} {
 			EntType = (*res)["EntType"].(string)
 			EntType = (*res)["EntType"].(string)
 			//处理分公司
 			//处理分公司
 			if EntType != "" {
 			if EntType != "" {
-				if EntType == "5810" || EntType == "6810" || EntType == "7310" || EntType == "3200" || EntType == "3100" {
+				if EntType == "5810" || EntType == "6810" || EntType == "7310" {
 					(*res)["EntType"] = "5810"
 					(*res)["EntType"] = "5810"
 				} else if len(EntType) > 1 {
 				} else if len(EntType) > 1 {
 					if EntType[:1] == "2" {
 					if EntType[:1] == "2" {
@@ -323,23 +323,23 @@ func findRelation(certype, cerno, name, rtype string, level int, ls *list.List,
 
 
 //存储节点,只关心3个元素,节点名称、节点id、关系节点id
 //存储节点,只关心3个元素,节点名称、节点id、关系节点id
 func storeNode(data *map[string]interface{}, ls *list.List, dir /*方向反转*/ bool, level int) {
 func storeNode(data *map[string]interface{}, ls *list.List, dir /*方向反转*/ bool, level int) {
-	invtype, _ := (*data)["invtype"].(string)
+	invtype := fmt.Sprint((*data)["invtype"])
 	//invcertype, _ := (*data)["invcertype"].(string)
 	//invcertype, _ := (*data)["invcertype"].(string)
-	invcerno, _ := (*data)["invcerno"].(string)
-	invname, _ := (*data)["invname"].(string)
-	entregno, _ := (*data)["entregno"].(string)
-	entname, _ := (*data)["entname"].(string)
-	invweight, _ := (*data)["weight"].(float64)
-	invacconam, _ := (*data)["invacconam"].(string)
-	regcap, _ := (*data)["regcap"].(float64)
-	invregcap, _ := (*data)["invregcap"].(float64)
-	legcerno, _ := (*data)["legcerno"].(string)
-	opstate, _ := (*data)["opstate"].(string)
-	invopstate, _ := (*data)["invopstate"].(string)
-	regcapcurname, _ := (*data)["regcapcurname"].(string)
-	shortname, _ := (*data)["shortname"].(string)
-	entmid := (*data)["entmid"]
-	ls.PushBack([]string{invtype, invcerno, invname, entregno, entname, strconv.Itoa(level), fmt.Sprint(invweight), invacconam, fmt.Sprint(regcap), fmt.Sprint(invregcap), legcerno, opstate, invopstate, regcapcurname, util.BsonIdToSId((*data)["_id"]), shortname, util.BsonIdToSId(entmid)})
+	invcerno := fmt.Sprint((*data)["invcerno"])
+	invname := fmt.Sprint((*data)["invname"])
+	entregno := fmt.Sprint((*data)["entregno"])
+	entname := fmt.Sprint((*data)["entname"])
+	invweight := fmt.Sprint((*data)["weight"])
+	invacconam := fmt.Sprint((*data)["invacconam"])
+	regcap := fmt.Sprint((*data)["regcap"])
+	invregcap := fmt.Sprint((*data)["invregcap"])
+	legcerno := fmt.Sprint((*data)["legcerno"])
+	opstate := fmt.Sprint((*data)["opstate"])
+	invopstate := fmt.Sprint((*data)["invopstate"])
+	regcapcurname := fmt.Sprint((*data)["regcapcurname"])
+	shortname := fmt.Sprint((*data)["shortname"])
+	entmid := util.BsonIdToSId((*data)["entmid"])
+	ls.PushBack([]string{invtype, invcerno, invname, entregno, entname, strconv.Itoa(level), invweight, invacconam, regcap, invregcap, legcerno, opstate, invopstate, regcapcurname, util.BsonIdToSId((*data)["_id"]), shortname, entmid})
 }
 }
 
 
 func findIndex(code string, arr []interface{}) (index int, mtType string) {
 func findIndex(code string, arr []interface{}) (index int, mtType string) {

+ 4 - 4
core/src/web/staticres/js/relation.js

@@ -836,14 +836,14 @@ Relation.prototype.makeTextBg = function(){
 		text.each(function() {
 		text.each(function() {
             var box = this.getBBox();
             var box = this.getBBox();
 			//box.x = 0;
 			//box.x = 0;
-            if (first || box.x < bounds.x1) {
-                bounds.x1 = box.x;
+            if (first || 0 < bounds.x1) {
+                bounds.x1 = 0;
             }
             }
             if (first || box.y < bounds.y1) {
             if (first || box.y < bounds.y1) {
                 bounds.y1 = box.y;
                 bounds.y1 = box.y;
             }
             }
-            if (first || box.x + box.width > bounds.x2) {
-                bounds.x2 = box.x + box.width;
+            if (first || 0 + box.width > bounds.x2) {
+                bounds.x2 = 0 + box.width;
             }
             }
             if (first || box.y + box.height > bounds.y2) {
             if (first || box.y + box.height > bounds.y2) {
                 bounds.y2 = box.y + box.height;
                 bounds.y2 = box.y + box.height;