Переглянути джерело

wip:数据导出关键词匹配方法位置迁移

wangkaiyue 2 роки тому
батько
коміт
e9f44b14bf

+ 11 - 11
src/jfw/front/dataExport.go

@@ -544,17 +544,17 @@ func (d *DataExport) PreviewData(source, _id string) error {
 	//格式化字段
 	res_screen := dataexport.ScreenData(res, dataType, 20, kws)
 	list := dataexport.FormatExportData(public.Mgo_Ent, &res_screen, config.Sysconfig["webdomain"].(string), dataType, true)
-	if len(kws) > 0 && kws[0].Keyword != "" {
-		var keys []string
-		//统计关键词
-		for _, vk := range kws {
-			keys = append(keys, strings.Replace(vk.Keyword, "+", ",", -1))
-		}
-		//二次匹配
-		for _, vs := range *list {
-			vs["keyword"] = jy.GetMatchKey(strings.Join(keys, ","), scd.SelectType, vs)
-		}
-	}
+	//if len(kws) > 0 && kws[0].Keyword != "" {
+	//	var keys []string
+	//	//统计关键词
+	//	for _, vk := range kws {
+	//		keys = append(keys, strings.Replace(vk.Keyword, "+", ",", -1))
+	//	}
+	//	//二次匹配
+	//	for _, vs := range *list {
+	//		vs["keyword"] = dataexport.GetMatchKey(strings.Join(keys, ","), scd.SelectType, vs)
+	//	}
+	//}
 
 	d.T["data"] = subUrl(list, dataType)
 	d.T["dataType"] = dataType

+ 68 - 0
src/jfw/modules/common/src/qfw/util/dataexport/common.go

@@ -2,6 +2,7 @@ package dataexport
 
 import (
 	"fmt"
+	qutil "qfw/util"
 	"qfw/util/mysql"
 	"strings"
 )
@@ -36,3 +37,70 @@ func GetLastExportPhoneAndMail(mysqlSess *mysql.Mysql, userId, entUserId string)
 	}
 	return
 }
+
+// GetMatchKey key 关键词 逗号分隔 或的关系进行关联  types 匹配类型  data数据
+// title 标题,detail 正文,filetext 附件,purchasing 标的物,projectname.pname 项目命,mbuyer 采购单位,mwinner 中标单位,magency 代理机构
+func GetMatchKey(key, types string, data map[string]interface{}) string {
+	keyWord := []string{}
+	if strings.Contains(types, "title") {
+		title := qutil.ObjToString(data["title"])
+		keyWord = KeyWordToDatas(title, key, keyWord)
+	}
+	if strings.Contains(types, "detail") {
+		detail := qutil.ObjToString(data["detail"])
+		keyWord = KeyWordToDatas(detail, key, keyWord)
+	}
+	if strings.Contains(types, "purchasing") {
+		purchasing := qutil.ObjToString(data["purchasing"])
+		keyWord = KeyWordToDatas(purchasing, key, keyWord)
+	}
+	if strings.Contains(types, "filetext") {
+		filetext := qutil.ObjToString(data["filetext"])
+		keyWord = KeyWordToDatas(filetext, key, keyWord)
+	}
+	if strings.Contains(types, "projectname.pname") {
+		projectname := qutil.ObjToString(data["projectname"])
+		keyWord = KeyWordToDatas(projectname, key, keyWord)
+	}
+	if strings.Contains(types, "mbuyer") {
+		buyer := qutil.ObjToString(data["buyer"])
+		keyWord = KeyWordToDatas(buyer, key, keyWord)
+	}
+	if strings.Contains(types, "mwinner") {
+		winner := qutil.ObjToString(data["s_winner"])
+		keyWord = KeyWordToDatas(winner, key, keyWord)
+	}
+	if strings.Contains(types, "magency") {
+		winner := qutil.ObjToString(data["agency"])
+		keyWord = KeyWordToDatas(winner, key, keyWord)
+	}
+	keyMap := map[string]bool{}
+	keyArr := []string{}
+	for _, key := range keyWord {
+		keyMap[key] = true
+	}
+	for k, _ := range keyMap {
+		keyArr = append(keyArr, k)
+	}
+	return strings.Join(keyArr, ",")
+}
+
+func KeyWordToDatas(item, key string, keyWord []string) []string {
+	for _, mk := range strings.Split(key, ",") {
+		if strings.Contains(mk, "&&") {
+			arr := strings.Split(mk, "&&")
+			for _, s := range arr {
+				if s != "" {
+					if strings.Contains(strings.ToUpper(item), strings.ToUpper(s)) {
+						keyWord = append(keyWord, mk)
+					}
+				}
+			}
+		} else {
+			if strings.Contains(strings.ToUpper(item), strings.ToUpper(mk)) {
+				keyWord = append(keyWord, mk)
+			}
+		}
+	}
+	return keyWord
+}

+ 0 - 68
src/jfw/modules/common/src/qfw/util/jy/userPhoneUtil.go

@@ -4,7 +4,6 @@ import (
 	"fmt"
 	mg "mongodb"
 	qutil "qfw/util"
-	"strings"
 	"time"
 )
 
@@ -352,70 +351,3 @@ func (this *PhoneUtil) UnBindWeixin(phoneUserId, relationWeixinId string, opear
 		return this.RelieveRelation(relationWeixinId, phoneUserId, logFlag)
 	}
 }
-
-// GetMatchKey key 关键词 逗号分隔 或的关系进行关联  types 匹配类型  data数据
-// title 标题,detail 正文,filetext 附件,purchasing 标的物,projectname.pname 项目命,mbuyer 采购单位,mwinner 中标单位,magency 代理机构
-func GetMatchKey(key, types string, data map[string]interface{}) string {
-	keyWord := []string{}
-	if strings.Contains(types, "title") {
-		title := qutil.ObjToString(data["title"])
-		keyWord = KeyWordToDatas(title, key, keyWord)
-	}
-	if strings.Contains(types, "detail") {
-		detail := qutil.ObjToString(data["detail"])
-		keyWord = KeyWordToDatas(detail, key, keyWord)
-	}
-	if strings.Contains(types, "purchasing") {
-		purchasing := qutil.ObjToString(data["purchasing"])
-		keyWord = KeyWordToDatas(purchasing, key, keyWord)
-	}
-	if strings.Contains(types, "filetext") {
-		filetext := qutil.ObjToString(data["filetext"])
-		keyWord = KeyWordToDatas(filetext, key, keyWord)
-	}
-	if strings.Contains(types, "projectname.pname") {
-		projectname := qutil.ObjToString(data["projectname"])
-		keyWord = KeyWordToDatas(projectname, key, keyWord)
-	}
-	if strings.Contains(types, "mbuyer") {
-		buyer := qutil.ObjToString(data["buyer"])
-		keyWord = KeyWordToDatas(buyer, key, keyWord)
-	}
-	if strings.Contains(types, "mwinner") {
-		winner := qutil.ObjToString(data["s_winner"])
-		keyWord = KeyWordToDatas(winner, key, keyWord)
-	}
-	if strings.Contains(types, "magency") {
-		winner := qutil.ObjToString(data["agency"])
-		keyWord = KeyWordToDatas(winner, key, keyWord)
-	}
-	keyMap := map[string]bool{}
-	keyArr := []string{}
-	for _, key := range keyWord {
-		keyMap[key] = true
-	}
-	for k, _ := range keyMap {
-		keyArr = append(keyArr, k)
-	}
-	return strings.Join(keyArr, ",")
-}
-
-func KeyWordToDatas(item, key string, keyWord []string) []string {
-	for _, mk := range strings.Split(key, ",") {
-		if strings.Contains(mk, "&&") {
-			arr := strings.Split(mk, "&&")
-			for _, s := range arr {
-				if s != "" {
-					if strings.Contains(strings.ToUpper(item), strings.ToUpper(s)) {
-						keyWord = append(keyWord, mk)
-					}
-				}
-			}
-		} else {
-			if strings.Contains(strings.ToUpper(item), strings.ToUpper(mk)) {
-				keyWord = append(keyWord, mk)
-			}
-		}
-	}
-	return keyWord
-}