Selaa lähdekoodia

Merge branch 'cygx_9.1' of http://8.136.199.33:3000/hongze/hongze_cygx into debug

xingzai 2 vuotta sitten
vanhempi
commit
ee6766119f
5 muutettua tiedostoa jossa 90 lisäystä ja 36 poistoa
  1. 55 21
      controllers/activity.go
  2. 1 1
      controllers/home.go
  3. 13 13
      controllers/report.go
  4. 19 1
      services/activity.go
  5. 2 0
      services/tactics.go

+ 55 - 21
controllers/activity.go

@@ -2538,9 +2538,9 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	//		}
 	//	}
 	//}
-	condition = ""
+	condition = " AND art.is_limit_people = 1 AND art.publish_status = 1  "
 	//活动可见限制
-	conditionActivity, err := services.GetActivityonditionList(user, activityTypeId, chartPermissionIds, whichDay, activeState, label, 0, source, keyWord, playBack)
+	conditionActivityAll, err := services.GetActivityonditionList(user, activityTypeId, chartPermissionIds, whichDay, activeState, label, 0, source, keyWord, playBack, 3)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()
@@ -2549,22 +2549,21 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	if source == 1 {
 		condition += ` AND art.yidong_activity_id = '' `
 	}
-	//
-	//if playBack == 1 {
-	//	//活动音频,设置有效时间为30天,失效后该活动就不再支持音频回放。有效期起始时间为活动的开始时间
-	//	endTime := time.Now().AddDate(0, 0, -30).Format("2006-01-02 15:04:05")
-	//	condition += ` AND art.activity_time > ? `
-	//	pars = append(pars, endTime)
-	//}
-
-	condition += ` AND art.is_limit_people = 1 AND art.publish_status = 1 ` + conditionActivity
-	total, err := models.GetActivityCount(condition, playBack, pars, filter)
+	var conditionCount string
+	conditionCount = condition + conditionActivityAll
+	total, err := models.GetActivityCount(conditionCount, playBack, pars, filter)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+	//搜索关键词初始化
+	conditionActivityKey, err := services.GetActivityonditionList(user, activityTypeId, chartPermissionIds, whichDay, activeState, label, 0, source, keyWord, playBack, 1)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
-
 	var conditionOrder string
 	if activeState == "2" || activeState == "3" {
 		conditionOrder = ` ORDER BY art.activity_time DESC  `
@@ -2573,7 +2572,6 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	} else {
 		conditionOrder = ` ORDER BY art.activity_time DESC ,  art.active_state ASC   `
 	}
-
 	if label != "" && activeState == "1" {
 		conditionOrder = ` ORDER BY art.activity_time ASC  `
 	}
@@ -2581,15 +2579,51 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	if activeState == "1" {
 		conditionOrder = ` ORDER BY art.activity_time ASC  `
 	}
+	conditionActivityKey += condition + conditionOrder
 
-	condition += conditionOrder
-
-	list, errList := models.GetActivityListNew(condition, pars, uid, startSize, pageSize, playBack, filter, typeName)
+	list, errList := models.GetActivityListNew(conditionActivityKey, pars, uid, startSize, pageSize, playBack, filter, typeName)
 	if errList != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + errList.Error()
 		return
 	}
+
+	keyWordArr, err := services.GetIndustryMapNameSliceV3(keyWord)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取分词失败,GetIndustryMapNameSliceV3 Err: " + err.Error()
+		return
+	}
+	keyWordArr = services.RemoveDuplicatesAndEmpty(keyWordArr)
+
+	startSizeIk := utils.StartIndex(currentIndex, pageSize)
+	startSizeIk = startSizeIk - total
+	if startSizeIk < 0 {
+		startSizeIk = 0
+	}
+	var pageSizeIk int
+	pageSizeIk = pageSize - len(list)
+	if pageSizeIk > 0 {
+		//搜索关键词联想
+		conditionActivityIk, err := services.GetActivityonditionList(user, activityTypeId, chartPermissionIds, whichDay, activeState, label, 0, source, keyWord, playBack, 1)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,Err:" + err.Error()
+			return
+		}
+		conditionActivityIk += condition + conditionOrder
+		listIk, errList := models.GetActivityListNew(conditionActivityIk, pars, uid, startSizeIk, pageSizeIk, playBack, filter, typeName)
+		if errList != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,Err:" + errList.Error()
+			return
+		}
+
+		for _, item := range listIk {
+			list = append(list, item)
+		}
+	}
+
 	var isShow bool
 	isShow = services.GetShowSustainable()
 	detail, err := models.GetConfigByCode("city_img_url")
@@ -3104,7 +3138,7 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 			continue
 		}
 		var condition string
-		conditionActivity, err := services.GetActivityonditionList(user, strconv.Itoa(v.ActivityTypeId), chartPermissionIds, whichDay, activeState, "", isPower, 0, "", 0)
+		conditionActivity, err := services.GetActivityonditionList(user, strconv.Itoa(v.ActivityTypeId), chartPermissionIds, whichDay, activeState, "", isPower, 0, "", 0, 1)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()
@@ -3987,7 +4021,7 @@ func (this *ActivityCoAntroller) LabelTypeListV6Pc() {
 		}
 		var condition string
 
-		conditionActivity, err := services.GetActivityonditionList(user, strconv.Itoa(v.ActivityTypeId), chartPermissionIds, whichDay, activeState, "", isPower, 1, "", playBack)
+		conditionActivity, err := services.GetActivityonditionList(user, strconv.Itoa(v.ActivityTypeId), chartPermissionIds, whichDay, activeState, "", isPower, 1, "", playBack, 1)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()
@@ -4644,7 +4678,7 @@ func (this *ActivityCoAntroller) ActivityListSearch() {
 	startSize = utils.StartIndex(currentIndex, pageSize)
 	var condition string
 	//活动可见限制
-	conditionActivity, err := services.GetActivityonditionList(user, "", "", "", "", "", 0, 1, keyWord, playBack)
+	conditionActivity, err := services.GetActivityonditionList(user, "", "", "", "", "", 0, 1, keyWord, playBack, 1)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()
@@ -4816,7 +4850,7 @@ func (this *ActivityCoAntroller) OverActivityList() {
 	//condition += ` AND art.activity_type_id IN (` + typeName + `)`
 	//}
 
-	conditionActivity, err := services.GetActivityonditionList(user, typeName, chartPermissionIds, whichDay, "3", "", 0, 0, "", 0)
+	conditionActivity, err := services.GetActivityonditionList(user, typeName, chartPermissionIds, whichDay, "3", "", 0, 0, "", 0, 1)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()

+ 1 - 1
controllers/home.go

@@ -686,7 +686,7 @@ func (this *HomeController) NewList() {
 		}
 	} else {
 		condition += ` AND source NOT IN ('activity','activityspecial','newchart') ` + conditionInit
-		conditionActivity, err := services.GetActivityonditionList(user, "", "", "", "1,2,3", "", 0, 0, "", 0)
+		conditionActivity, err := services.GetActivityonditionList(user, "", "", "", "1,2,3", "", 0, 0, "", 0, 1)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()

+ 13 - 13
controllers/report.go

@@ -2676,7 +2676,7 @@ func (this *ReportController) SearchReportAndResource() {
 		keyWordIk = services.KeyWordArrSqlRegexp(keyWordArr)
 		var conditionIk string
 		var sqlGroupIk string
-		conditionIk = `AND ( a.title REGEXP '` + keyWordIk + `' OR  a.body REGEXP '` + keyWordIk + `' OR  a.annotation REGEXP '` + keyWordIk + `' OR  a.abstract REGEXP '` + keyWordIk + `') AND a.publish_status = 1 `
+		conditionIk = `AND ( a.title REGEXP '` + keyWordIk + `' OR  a.annotation REGEXP '` + keyWordIk + `' OR  a.abstract REGEXP '` + keyWordIk + `') AND a.publish_status = 1 `
 		sqlGroupIk = ` GROUP BY  a.article_id  ORDER BY a.publish_date DESC  `
 		if pageSize > 0 {
 			sqlGroupIk += ` LIMIT 5 `
@@ -2695,18 +2695,18 @@ func (this *ReportController) SearchReportAndResource() {
 				ListYxReport = append(ListYxReport, v)
 			}
 		}
-		////弘则的联想词列表
-		//ListHzReportIk, err := models.GetReoprtSearchList(` AND a.article_id < 1000000 `+conditionIk+sqlGroupIk, user.UserId)
-		//if err != nil && err.Error() != utils.ErrNoRow() {
-		//	br.Msg = "获取信息失败"
-		//	br.ErrMsg = "获取研选IK文章列表失败,Err:" + err.Error()
-		//	return
-		//}
-		//if len(ListHzReportIk) > 0 {
-		//	for _, v := range ListHzReportIk {
-		//		ListHzReport = append(ListHzReport, v)
-		//	}
-		//}
+		//弘则的联想词列表
+		ListHzReportIk, err := models.GetReoprtSearchList(` AND a.article_id < 1000000 `+conditionIk+sqlGroupIk, user.UserId)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取研选IK文章列表失败,Err:" + err.Error()
+			return
+		}
+		if len(ListHzReportIk) > 0 {
+			for _, v := range ListHzReportIk {
+				ListHzReport = append(ListHzReport, v)
+			}
+		}
 	}
 	for k, v := range ListHzReport {
 		ListHzReport[k].Source = 1

+ 19 - 1
services/activity.go

@@ -500,7 +500,8 @@ func GetHavePower(activityInfo *models.ActivityDetail, permissionStr, companyDet
 // @Param   Label   query   string  false       "搜索主题 多个用 , 隔开"
 // @Param   PlayBack   query   int  false       "是否仅展示回放 1:是、0:否 默认0"
 // @Param   KeyWord   query   string  false       "搜索关键词 多个用 , 隔开"
-func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermissionIds, whichDay, activeState, label string, isPower, source int, keyWord string, playBack int) (conditionActivity string, err error) {
+// @Param   ikType   query   int  false       "联想词类型 , 1不做联想,2,做除初始词的联想,3所有联想"
+func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermissionIds, whichDay, activeState, label string, isPower, source int, keyWord string, playBack, ikType int) (conditionActivity string, err error) {
 	adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
 	if err != nil {
 		return
@@ -624,6 +625,23 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
 		if activeState == "2" {
 			condition += ` AND art.active_state  = 2 `
 		}
+		if ikType == 2 || ikType == 3 {
+			keyWordArr, e := GetIndustryMapNameSliceV3(keyWord)
+			if e != nil {
+				err = errors.New("获取分词失败,GetIndustryMapNameSliceV3, Err: " + keyWord + e.Error())
+				return
+			}
+			keyWordArr = RemoveDuplicatesAndEmpty(keyWordArr)
+			//var keywords string
+			if len(keyWordArr) > 1 {
+				if ikType == 2 {
+					keyWord = KeyWordArrSqlRegexp(keyWordArr)
+				} else if ikType == 3 {
+					keyWord = KeyWordArrSqlRegexpAll(keyWordArr)
+				}
+			}
+		}
+		condition += ` AND (art.label   REGEXP '` + keyWord + `' OR art.activity_name  REGEXP '` + keyWord + `' ) `
 	} else {
 		if activeState != "" {
 			// 默认查看未开始跟进行中

+ 2 - 0
services/tactics.go

@@ -754,6 +754,8 @@ func GetSummarytoEs(articleId int) (err error) {
 	item.BodyText = bodyText
 	item.CategoryId = strconv.Itoa(v.CategoryId)
 	item.ExpertBackground = v.ExpertBackground
+	item.Annotation, _ = GetReportContentTextSubNew(v.Annotation)
+	item.Abstract, _ = GetReportContentTextSubNew(v.Abstract)
 	EsAddOrEditData(indexName, strconv.Itoa(v.ArticleId), item)
 	fmt.Println(v.ArticleId)
 	//}