Browse Source

no message

xingzai 2 years ago
parent
commit
a4cdaffbe7
2 changed files with 24 additions and 16 deletions
  1. 3 2
      controllers/micro_roadshow.go
  2. 21 14
      services/micro_roadshow.go

+ 3 - 2
controllers/micro_roadshow.go

@@ -84,6 +84,7 @@ func (this *MicroRoadShowController) List() {
 		br.ErrMsg = "获取微路演联想词列表失败, Err: " + e.Error()
 		return
 	}
+	//return
 	pageSizeIk = totalIk - len(list)
 	//处理IK分词部分的分页获取条数
 	startSizeIk := utils.StartIndex(currentIndex, pageSize)
@@ -92,7 +93,7 @@ func (this *MicroRoadShowController) List() {
 		startSizeIk = 0
 	}
 	if pageSizeIk > 0 {
-		lisIk, e := services.GetMicroRoadShowPageListIkWord(startSizeIk, pageSizeIk, audioId, videoId, activityVideoId, keyWordArr, filter)
+		lisIk, e := services.GetMicroRoadShowPageListIkWord(startSizeIk, pageSizeIk, audioId, videoId, activityVideoId, keyWordArr, filter, keywords)
 		if e != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取微路演列表失败, Err: " + e.Error()
@@ -169,7 +170,7 @@ func (this *MicroRoadShowController) List() {
 	}
 
 	resp := new(models.MicroRoadShowListResp)
-	page := paging.GetPaging(currentIndex, pageSize, total)
+	page := paging.GetPaging(currentIndex, pageSize, totalIk)
 	resp.List = list
 	resp.Paging = page
 

+ 21 - 14
services/micro_roadshow.go

@@ -226,8 +226,8 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 	if keywords != "" {
 		videoCond += ` AND video_name LIKE ?`
 		videoPars = append(videoPars, keywords)
-		videoCondAct += ` AND video_name LIKE ?`
-		videoParsAct = append(videoParsAct, keywords)
+		videoCondAct += ` AND ( video_name LIKE ? OR art.label LIKE ? )`
+		videoParsAct = append(videoParsAct, keywords, keywords)
 	}
 	if videoId > 0 {
 		videoCond += ` AND video_id = ?`
@@ -337,8 +337,8 @@ func CountMicroRoadShowPageListIkWord(audioId, videoId, activityVideoId int, key
 	if keywords != "" {
 		videoCond += ` AND video_name REGEXP ?`
 		videoPars = append(videoPars, keywords)
-		videoCondAct += ` AND video_name REGEXP ?`
-		videoParsAct = append(videoParsAct, keywords)
+		videoCondAct += ` AND ( video_name REGEXP ?  OR art.label REGEXP ? )`
+		videoParsAct = append(videoParsAct, keywords, keywords)
 	}
 	if videoId > 0 {
 		videoCond += ` AND video_id = ?`
@@ -380,13 +380,16 @@ func CountMicroRoadShowPageListIkWord(audioId, videoId, activityVideoId int, key
 }
 
 // GetMicroRoadShowPageListIkWord  添加IK分词联想词 获取微路演列表添加活动视频 更新与8.1版本
-func GetMicroRoadShowPageListIkWord(startSize, pageSize, audioId, videoId, activityVideoId int, keywordArr []string, filter string) (respList []*models.MicroRoadShowPageList, err error) {
+func GetMicroRoadShowPageListIkWord(startSize, pageSize, audioId, videoId, activityVideoId int, keywordArr []string, filter, 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
@@ -397,9 +400,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 = ?`
@@ -414,11 +418,14 @@ 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 ? )`
+
+		videoParsAct = append(videoParsAct, keywordsIk, keywordsIk, keywords, keywords)
 	}
 	if videoId > 0 {
 		videoCond += ` AND video_id = ?`