|
@@ -228,8 +228,10 @@ func (this *SearchController) SearchReport() {
|
|
|
// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
// @Param KeyWord query string true "搜索关键词"
|
|
|
// @Param OrderColumn query int true "排序字段 ,Comprehensive综合 ,Matching匹配度 ,PublishDate 发布时间 "
|
|
|
-// @Param UserName query string true "用户名称"
|
|
|
-// @Param Sign query string true "加密签名"
|
|
|
+// @Param CompanyCode query string false "机构编号"
|
|
|
+// @Param CompanyName query string false "机构名称"
|
|
|
+// @Param Email query string false "邮箱"
|
|
|
+// @Param Sign query string false "加密签名"
|
|
|
// @Success 200 {object} models.SearchItem
|
|
|
// @router /listPublic [get]
|
|
|
func (this *BaseSearchController) SearchListPublic() {
|
|
@@ -255,44 +257,11 @@ func (this *BaseSearchController) SearchListPublic() {
|
|
|
br.ErrMsg = "请输入搜索词"
|
|
|
return
|
|
|
}
|
|
|
- userName := this.GetString("UserName")
|
|
|
+ companyCode := this.GetString("CompanyCode")
|
|
|
+ companyNameHt := this.GetString("CompanyName")
|
|
|
+ email := this.GetString("Email")
|
|
|
sign := this.GetString("Sign")
|
|
|
- errMsg, errHt, wxUser, _ := services.CheckHtgj(userName, sign)
|
|
|
- if errHt != nil {
|
|
|
- br.Msg = "获取"
|
|
|
- br.ErrMsg = "获取数据失败,Err:" + errHt.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if errMsg != "" {
|
|
|
- br.Msg = errMsg
|
|
|
- return
|
|
|
- }
|
|
|
- user := wxUser
|
|
|
- //研选的五张图片
|
|
|
- detailResearch, errConfig := models.GetConfigByCode("category_research_img_url")
|
|
|
- if errConfig != nil {
|
|
|
- br.Msg = "获取数据失败"
|
|
|
- br.ErrMsg = "获取数据研选分类图片失败,Err:" + errConfig.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- researchList := strings.Split(detailResearch.ConfigValue, "{|}")
|
|
|
- //对应分类的所图片
|
|
|
- detailCategoryUrl, errConfig := models.GetConfigByCode("category_map_img_url")
|
|
|
- if errConfig != nil {
|
|
|
- br.Msg = "获取数据失败"
|
|
|
- br.ErrMsg = "行业配置信息失败,Err:" + errConfig.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- categoryUrlList := strings.Split(detailCategoryUrl.ConfigValue, "{|}")
|
|
|
- mapCategoryUrl := make(map[string]string)
|
|
|
- var categoryId string
|
|
|
- var imgUrlChart string
|
|
|
- for _, v := range categoryUrlList {
|
|
|
- vslice := strings.Split(v, "_")
|
|
|
- categoryId = vslice[0]
|
|
|
- imgUrlChart = vslice[len(vslice)-1]
|
|
|
- mapCategoryUrl[categoryId] = imgUrlChart
|
|
|
- }
|
|
|
+
|
|
|
if orderColumn == "" {
|
|
|
orderColumn = "Matching"
|
|
|
}
|
|
@@ -302,12 +271,12 @@ func (this *BaseSearchController) SearchListPublic() {
|
|
|
var total int64
|
|
|
var err error
|
|
|
if orderColumn == "PublishDate" {
|
|
|
- tmpResult, tmpTotal, tmpErr := services.EsMultiMatchFunctionScoreQueryTimeSort(indexName, keyWord, startSize, 100, user.UserId)
|
|
|
+ tmpResult, tmpTotal, tmpErr := services.EsMultiMatchFunctionScoreQueryTimeSort(indexName, keyWord, startSize, 100, 0)
|
|
|
result = tmpResult
|
|
|
total = tmpTotal
|
|
|
err = tmpErr
|
|
|
} else {
|
|
|
- tmpResult, tmpTotal, tmpErr := services.EsMultiMatchFunctionScoreQuerySort(indexName, keyWord, startSize, pageSize, user.UserId, orderColumn)
|
|
|
+ tmpResult, tmpTotal, tmpErr := services.EsMultiMatchFunctionScoreQuerySort(indexName, keyWord, startSize, pageSize, 0, orderColumn)
|
|
|
result = tmpResult
|
|
|
total = tmpTotal
|
|
|
err = tmpErr
|
|
@@ -320,27 +289,32 @@ func (this *BaseSearchController) SearchListPublic() {
|
|
|
if len(result) == 0 {
|
|
|
result = make([]*models.SearchItem, 0)
|
|
|
}
|
|
|
- detail, errKey := models.GetNewSearchKeyWordByThisUser(user.UserId, keyWord)
|
|
|
- if errKey != nil && errKey.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,Err:" + errKey.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- //同一个用户一分钟之内搜索的词不重复记录
|
|
|
- if detail == nil || time.Now().After(detail.CreateTime.Add(+time.Minute*1)) {
|
|
|
- keyWordItem := new(models.CygxSearchKeyWord)
|
|
|
- keyWordItem.UserId = user.UserId
|
|
|
- keyWordItem.KeyWord = keyWord
|
|
|
- keyWordItem.CreateTime = time.Now()
|
|
|
- go models.AddSearchKeyWord(keyWordItem)
|
|
|
- }
|
|
|
- for k, v := range result {
|
|
|
- //如果是研选系列的任意取五张图片的中的一张
|
|
|
- if v.CategoryId == "0" {
|
|
|
- knum := v.ArticleId % 5
|
|
|
- result[k].ImgUrlPc = researchList[knum]
|
|
|
- } else {
|
|
|
- result[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
|
|
|
+
|
|
|
+ if companyCode != "" && companyNameHt != "" && email != "" {
|
|
|
+ errMsg, errHt, wxUser, _ := services.CheckHtgj(companyCode, companyNameHt, email, sign)
|
|
|
+ if errHt != nil {
|
|
|
+ br.Msg = "获取"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + errHt.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if errMsg != "" {
|
|
|
+ br.Msg = errMsg
|
|
|
+ return
|
|
|
+ }
|
|
|
+ user := wxUser
|
|
|
+ detail, errKey := models.GetNewSearchKeyWordByThisUser(user.UserId, keyWord)
|
|
|
+ if errKey != nil && errKey.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取信息失败"
|
|
|
+ br.ErrMsg = "获取信息失败,Err:" + errKey.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //同一个用户一分钟之内搜索的词不重复记录
|
|
|
+ if detail == nil || time.Now().After(detail.CreateTime.Add(+time.Minute*1)) {
|
|
|
+ keyWordItem := new(models.CygxSearchKeyWord)
|
|
|
+ keyWordItem.UserId = user.UserId
|
|
|
+ keyWordItem.KeyWord = keyWord
|
|
|
+ keyWordItem.CreateTime = time.Now()
|
|
|
+ go models.AddSearchKeyWord(keyWordItem)
|
|
|
}
|
|
|
}
|
|
|
resp := new(models.SearchResp)
|