Эх сурвалжийг харах

数据导出数据 和预览数据带关键词优先级

wangshan 5 жил өмнө
parent
commit
99dede93de

+ 2 - 2
src/jfw/front/ws_dataExport.go

@@ -61,14 +61,14 @@ func (w *WsDataExport) GetPreview() error {
 	_id := util.SE.Decode4Hex(w.GetString("_id"))
 	dataType := w.GetString("dataType")
 	//从500条数据中筛选字段最全五条
-	res, _ := public.GetDataExportSearchResultUseId(_id, dataType, -1)
+	res, kws := public.GetDataExportSearchResultUseId(_id, dataType, -1)
 	if res == nil {
 		w.Render("/pc/dataExport_noDataErr.html", &w.T)
 		log.Println("PreviewData查询出错")
 		return nil
 	}
 	//格式化字段
-	res_screen := public.ScreenData(res, dataType, 20, nil)
+	res_screen := public.ScreenData(res, dataType, 20, kws)
 	list := public.FormatExportData(&res_screen, config.Sysconfig["webdomain"].(string), dataType, true)
 	_res["data"] = subUrl(list, dataType)
 	_res["dataType"] = dataType

+ 2 - 2
src/jfw/modules/app/src/app/front/ws_dataExport.go

@@ -61,14 +61,14 @@ func (w *WsDataExport) GetPreview() error {
 	_id := util.SE.Decode4Hex(w.GetString("_id"))
 	dataType := w.GetString("dataType")
 	//从500条数据中筛选字段最全五条
-	res := public.GetDataExportSearchResultUseId(_id, dataType, -1)
+	res, kws := public.GetDataExportSearchResultUseId(_id, dataType, -1)
 	if res == nil {
 		w.Render("/pc/dataExport_noDataErr.html", &w.T)
 		log.Println("PreviewData查询出错")
 		return nil
 	}
 	//格式化字段
-	res_screen := public.ScreenData(res, dataType, 20)
+	res_screen := public.ScreenData(res, dataType, 20, kws)
 	list := public.FormatExportData(&res_screen, config.Sysconfig["webdomain"].(string), dataType, true)
 	_res["data"] = subUrl(list, dataType)
 	_res["dataType"] = dataType

+ 5 - 3
src/jfw/modules/weixin/src/wx/wx.go

@@ -456,6 +456,7 @@ func saveUser(u *UserInfo, source, pre, RSource string) (bool, string, string) {
 				"i_sourceid":      isourceid,
 				"o_jy.i_wxpush":   1,
 			}
+			set["i_applystatus"] = 1
 			if tuser["l_registedate"] == nil {
 				set["l_registedate"] = u.SubscribeTime
 			}
@@ -484,9 +485,10 @@ func saveUser(u *UserInfo, source, pre, RSource string) (bool, string, string) {
 						&map[string]interface{}{"_id": tuser["_id"]},
 						&map[string]interface{}{
 							"$set": map[string]interface{}{
-								"o_jy":       tuser["o_jy"],
-								"i_ts_guide": 1,
-								"i_ispush":   1,
+								"o_jy":          tuser["o_jy"],
+								"i_ts_guide":    1,
+								"i_ispush":      1,
+								"i_applystatus": 1,
 							},
 						}, false, false)
 				}

+ 8 - 5
src/jfw/public/search.go

@@ -106,7 +106,7 @@ func getDataExportSql(scd *SieveCondition) string {
 			starttime = fmt.Sprint(time.Date(now.Year(), now.Month(), now.Day()-30, 0, 0, 0, 0, time.Local).Unix())
 		} else if scd.PublishTime == "thisyear" { //去年
 			starttime = fmt.Sprint(time.Date(now.Year()-1, 1, 1, 0, 0, 0, 0, time.Local).Unix())
-			endtime = fmt.Sprint(time.Date(now.Year(), 1, 1, 0, 0, 0, 0, time.Local).Unix())
+			endtime = fmt.Sprint(time.Date(now.Year()-1, 12, 31, 23, 59, 59, 0, time.Local).Unix())
 		} else if strings.Contains(scd.PublishTime, "_") { //设置检索日期
 			starttime = strings.Split(scd.PublishTime, "_")[0]
 			etime := strings.Split(scd.PublishTime, "_")[1]
@@ -284,7 +284,7 @@ func GetDataExportSearchCountUseId(_id string) (count int) {
 			}
 			secondKWS := jy.HttpEs(scd.Keyword[0].Keyword, "ik_smart", config.Sysconfig["elasticsearch"].(string))
 			scd.Keyword[0].Keyword = secondKWS
-
+			scd.SelectType = "title"
 			qstr = getDataExportSql(scd)
 			res2 := doSearch(qstr, 0, 100-count, "")
 
@@ -366,6 +366,7 @@ func GetDataExportSearchResultUseId(_id, dataType string, count int) (*[]map[str
 				}
 				secondKWS := jy.HttpEs(scd.Keyword[0].Keyword, "ik_smart", config.Sysconfig["elasticsearch"].(string))
 				scd.Keyword[0].Keyword = secondKWS
+				scd.SelectType = "title"
 				qstr = getDataExportSql(scd)
 				res2 := doSearch(qstr, 0, 100-count, "")
 				return delRepeatMapArr(res, res2), kws
@@ -414,6 +415,7 @@ func GetDataExportSearchResultUseId(_id, dataType string, count int) (*[]map[str
 			if searchTextSize > 3 && num < 50 {
 				secondKWS := jy.HttpEs(scd.Keyword[0].Keyword, "ik_smart", config.Sysconfig["elasticsearch"].(string))
 				scd.Keyword[0].Keyword = secondKWS
+				scd.SelectType = "title"
 				qstr = getDataExportSql(scd)
 				res2 := doSearch(qstr, 0, 100-num, "")
 				res = *delRepeatMapArr(&res, res2)
@@ -559,10 +561,11 @@ func ScreenData(arr *[]map[string]interface{}, dataType string, resultNum int, k
 		if emptyNum == -1 {
 			continue
 		}
+		//		log.Println(util.ObjToString(v["title"]), "----", kws[0].Keyword)
 		if len(kws) > 0 && kws[0].Keyword != "" {
 			var kwsFlag = true
 			for _, vk := range kws {
-				if strings.Contains(util.ObjToString(v["title"]), vk.Keyword) {
+				if strings.Contains(util.ObjToString(v["title"]), strings.Replace(vk.Keyword, "+", "", -1)) {
 					kwsFlag = false
 					continue
 				}
@@ -610,11 +613,11 @@ func ScreenData(arr *[]map[string]interface{}, dataType string, resultNum int, k
 		log.Println("没关键词的空字段数量", Nokeys)
 		//选取结果
 		for _, v := range Nokeys {
-			if len(AllMap[v]) >= resultNum {
+			if len(NoKwsMap[v]) >= resultNum {
 				return append(res, NoKwsMap[v][:resultNum]...)
 			} else {
 				resultNum = resultNum - len(NoKwsMap[v])
-				tmp := append(res, NoKwsMap[v][:len(AllMap[v])]...)
+				tmp := append(res, NoKwsMap[v][:len(NoKwsMap[v])]...)
 				res = tmp
 			}
 		}

+ 1 - 1
src/web/templates/weixin/search/mainSearch.html

@@ -837,7 +837,7 @@
 					"margin-top": "-0.42rem",
 				});
 				$('#searchIndex .search-header').click(function () {
-					window.location.href='/front/applysub/index';
+					//window.location.href='/front/applysub/index';
 				});
 			}
 		}else  if (keys.length < 1){