Browse Source

三级页画像id替换

wangkaiyue 3 years ago
parent
commit
f331ad768a
2 changed files with 56 additions and 42 deletions
  1. 28 21
      src/jfw/front/shorturl.go
  2. 28 21
      src/jfw/modules/app/src/app/front/shorturl.go

+ 28 - 21
src/jfw/front/shorturl.go

@@ -12,6 +12,7 @@ import (
 	. "mongodb"
 	"net/url"
 	"qfw/util"
+	"qfw/util/elastic"
 
 	"qfw/util/jy"
 	"qfw/util/redis"
@@ -365,28 +366,34 @@ func (s *Short) Article(stype, id string) error {
 					s.SetSession("projectname", obj["projectname"])
 				}
 				if obj["entidlist"] != nil { //大会员中标企业跳转至画像
-					winner := util.ObjToString(obj["winner"])
-					s_winner := util.ObjToString(obj["s_winner"])
-					idObjs, _ := obj["entidlist"].([]interface{})
-					winnerId := ""
-					if names := strings.Split(s_winner, ","); len(names) > 1 {
-						index := 0
-						for i := 0; i < len(names); i++ {
-							if names[i] == winner {
-								index = i
-								break
-							}
-						}
-						if len(idObjs) > index {
-							winnerId = util.ObjToString(idObjs[index])
+					if winner := util.ObjToString(obj["winner"]); winner != "" {
+						//临时更改为企业名称查询企业id
+						rData := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"bool":{"should":[{"term":{"company_name":%s}},{"term":{"hname":%s}}],"minimum_should_match":1}},"_source":["name","_id","capital","company_phone"],"size":1}`, winner, winner))
+						if rData != nil && len(*rData) == 1 {
+							obj["entId"] = util.ObjToString((*rData)[0]["_id"])
 						}
-					} else { //中标企业仅一个
-						if len(idObjs) > 0 {
-							winnerId = util.ObjToString(idObjs[0])
-						}
-					}
-					if winnerId != "" {
-						obj["entId"] = util.EncodeArticleId2ByCheck(winnerId)
+						//s_winner := util.ObjToString(obj["s_winner"])
+						//idObjs, _ := obj["entidlist"].([]interface{})
+						//winnerId := ""
+						//if names := strings.Split(s_winner, ","); len(names) > 1 {
+						//	index := 0
+						//	for i := 0; i < len(names); i++ {
+						//		if names[i] == winner {
+						//			index = i
+						//			break
+						//		}
+						//	}
+						//	if len(idObjs) > index {
+						//		winnerId = util.ObjToString(idObjs[index])
+						//	}
+						//} else { //中标企业仅一个
+						//	if len(idObjs) > 0 {
+						//		winnerId = util.ObjToString(idObjs[0])
+						//	}
+						//}
+						//if winnerId != "" {
+						//	obj["entId"] = util.EncodeArticleId2ByCheck(winnerId)
+						//}
 					}
 				}
 

+ 28 - 21
src/jfw/modules/app/src/app/front/shorturl.go

@@ -4,6 +4,7 @@ import (
 	"database/sql"
 	"fmt"
 	"jfw/config"
+	"qfw/util/elastic"
 	"strconv"
 	"strings"
 	"time"
@@ -153,28 +154,34 @@ func (s *Short) Article(stype, id string) error {
 		obj["industry"] = industry
 		obj["ucbsId"] = util.EncodeArticleId2ByCheck("ucbs#" + userId + "#" + id)
 		if obj["entidlist"] != nil { //大会员中标企业跳转至画像
-			winner := util.ObjToString(obj["winner"])
-			s_winner := util.ObjToString(obj["s_winner"])
-			idObjs, _ := obj["entidlist"].([]interface{})
-			winnerId := ""
-			if names := strings.Split(s_winner, ","); len(names) > 1 {
-				index := 0
-				for i := 0; i < len(names); i++ {
-					if names[i] == winner {
-						index = i
-						break
-					}
-				}
-				if len(idObjs) > index {
-					winnerId = util.ObjToString(idObjs[index])
+			if winner := util.ObjToString(obj["winner"]); winner != "" {
+				//临时更改为企业名称查询企业id
+				rData := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"bool":{"should":[{"term":{"company_name":%s}},{"term":{"hname":%s}}],"minimum_should_match":1}},"_source":["name","_id","capital","company_phone"],"size":1}`, winner, winner))
+				if rData != nil && len(*rData) == 1 {
+					obj["entId"] = util.ObjToString((*rData)[0]["_id"])
 				}
-			} else { //中标企业仅一个
-				if len(idObjs) > 0 {
-					winnerId = util.ObjToString(idObjs[0])
-				}
-			}
-			if winnerId != "" {
-				obj["entId"] = util.EncodeArticleId2ByCheck(winnerId)
+				//s_winner := util.ObjToString(obj["s_winner"])
+				//idObjs, _ := obj["entidlist"].([]interface{})
+				//winnerId := ""
+				//if names := strings.Split(s_winner, ","); len(names) > 1 {
+				//	index := 0
+				//	for i := 0; i < len(names); i++ {
+				//		if names[i] == winner {
+				//			index = i
+				//			break
+				//		}
+				//	}
+				//	if len(idObjs) > index {
+				//		winnerId = util.ObjToString(idObjs[index])
+				//	}
+				//} else { //中标企业仅一个
+				//	if len(idObjs) > 0 {
+				//		winnerId = util.ObjToString(idObjs[0])
+				//	}
+				//}
+				//if winnerId != "" {
+				//	obj["entId"] = util.EncodeArticleId2ByCheck(winnerId)
+				//}
 			}
 		}
 		s.T["userId"] = se.Encode2Hex(userId) //加密用户userid