Ver Fonte

no message

xingzai há 2 anos atrás
pai
commit
83962ce0a7
2 ficheiros alterados com 19 adições e 11 exclusões
  1. 1 1
      controllers/micro_roadshow.go
  2. 18 10
      services/micro_roadshow.go

+ 1 - 1
controllers/micro_roadshow.go

@@ -97,7 +97,7 @@ func (this *MicroRoadShowController) List() {
 		startSizeIk = 0
 	}
 	if pageSizeIk > 0 {
-		lisIk, e := services.GetMicroRoadShowPageListIkWord(startSizeIk, pageSizeIk, audioId, videoId, activityVideoId, filter, keyWordArr, audioIds, videoIds, activityVideoIds)
+		lisIk, e := services.GetMicroRoadShowPageListIkWord(startSizeIk, pageSizeIk, audioId, videoId, activityVideoId, filter, keyWordArr, audioIds, videoIds, activityVideoIds, keywords)
 		if e != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取微路演列表失败, Err: " + e.Error()

+ 18 - 10
services/micro_roadshow.go

@@ -385,13 +385,16 @@ func CountMicroRoadShowPageListIkWord(audioId, videoId, activityVideoId, filter
 }
 
 // GetMicroRoadShowPageListIkWord  添加IK分词联想词 获取微路演列表添加活动视频 更新与8.1版本
-func GetMicroRoadShowPageListIkWord(startSize, pageSize, audioId, videoId, activityVideoId, filter int, keywordArr []string, audioIds, videoIds, activityVideoIds string) (respList []*models.MicroRoadShowPageList, err error) {
+func GetMicroRoadShowPageListIkWord(startSize, pageSize, audioId, videoId, activityVideoId, filter int, keywordArr []string, audioIds, videoIds, activityVideoIds, keywords string) (respList []*models.MicroRoadShowPageList, err error) {
 
 	videoList := make([]*models.MicroRoadShowPageList, 0)
 	var e error
-	var keywords string
+	var keywordsIk string
 	if len(keywordArr) > 1 {
-		keywords = KeyWordArrSqlRegexp(keywordArr)
+		keywordsIk = KeyWordArrSqlRegexp(keywordArr)
+	}
+	if keywords != "" {
+		keywords = "%" + keywords + "%"
 	}
 	//音频的查询
 	var audioCond string
@@ -402,9 +405,10 @@ func GetMicroRoadShowPageListIkWord(startSize, pageSize, audioId, videoId, activ
 	//} else {
 	// 活动已发布且已结束
 	audioCond += ` AND b.publish_status = 1 AND b.active_state = 3`
-	if keywords != "" {
-		audioCond += ` AND a.voice_name REGEXP ? OR b.label REGEXP ?`
-		audioPars = append(audioPars, keywords, keywords)
+	if keywordsIk != "" {
+		audioCond += ` AND ( a.voice_name REGEXP ? OR b.label REGEXP ? )`
+		audioCond += ` AND ( a.voice_name NOT LIKE ? AND  b.label NOT LIKE ? )`
+		audioPars = append(audioPars, keywordsIk, keywordsIk, keywords, keywords)
 	}
 	if audioId > 0 {
 		audioCond += ` AND a.activity_voice_id = ?`
@@ -428,11 +432,15 @@ func GetMicroRoadShowPageListIkWord(startSize, pageSize, audioId, videoId, activ
 	//if audioId > 0 || filter == 2 {
 	//	videoCond = ""
 	//} else {
-	if keywords != "" {
+	if keywordsIk != "" {
 		videoCond += ` AND video_name REGEXP ?`
-		videoPars = append(videoPars, keywords)
-		videoCondAct += ` AND video_name REGEXP ?`
-		videoParsAct = append(videoParsAct, keywords)
+		videoPars = append(videoPars, keywordsIk)
+
+		videoCondAct += ` AND ( v.video_name REGEXP ? OR art.label REGEXP ? )`
+		videoCondAct += ` AND ( v.video_name NOT LIKE ? AND art.label NOT LIKE ? )`
+
+		//videoCondAct += ` AND video_name REGEXP ?`
+		videoParsAct = append(videoParsAct, keywordsIk, keywordsIk, keywords, keywords)
 	}
 	if videoId > 0 {
 		videoCond += ` AND video_id = ?`