xingzai 2 سال پیش
والد
کامیت
186afc4a50
3فایلهای تغییر یافته به همراه251 افزوده شده و 214 حذف شده
  1. 2 1
      controllers/micro_roadshow.go
  2. 23 23
      models/micro_roadshow.go
  3. 226 190
      services/micro_roadshow.go

+ 2 - 1
controllers/micro_roadshow.go

@@ -81,7 +81,7 @@ func (this *MicroRoadShowController) List() {
 		return
 	}
 	var pageSizeIk int
-	pageSizeIk = pageSize - len(list)
+
 	//获取总的数量
 	totalIk, e := services.CountMicroRoadShowPageListIkWord(audioId, videoId, activityVideoId, filter, keyWordArr, audioIds, videoIds, activityVideoIds)
 	if e != nil {
@@ -89,6 +89,7 @@ func (this *MicroRoadShowController) List() {
 		br.ErrMsg = "获取微路演联想词列表失败, Err: " + e.Error()
 		return
 	}
+	pageSizeIk = totalIk - len(list)
 	//处理IK分词部分的分页获取条数
 	startSizeIk := utils.StartIndex(currentIndex, pageSize)
 	startSizeIk = startSizeIk - total

+ 23 - 23
models/micro_roadshow.go

@@ -35,8 +35,8 @@ type MicroRoadShowPageList struct {
 func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string, pars []interface{}, conditionAct string, parsAct []interface{}, conditionAudio string, parsAudio []interface{}, audioId, videoId, activityVideoId, filter int) (total int, list []*MicroRoadShowPageList, err error) {
 	o := orm.NewOrm()
 	var sql string
-	if audioId+activityVideoId == 0 && filter != 2 {
-		sql += `SELECT
+	//if audioId+activityVideoId == 0 && filter != 2 {
+	sql += `SELECT
 			video_id AS id,
 			video_name AS title,
 			video_url AS resource_url,
@@ -53,16 +53,16 @@ func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string,
 			cygx_micro_roadshow_video 
 		WHERE
 			publish_status = 1 `
-		if condition != `` {
-			sql += condition
-		}
-	}
-	if audioId+videoId+activityVideoId == 0 && filter != 2 {
-		sql += `  UNION ALL `
+	if condition != `` {
+		sql += condition
 	}
-
-	if audioId+videoId == 0 && filter != 2 {
-		sql += `
+	//}
+	//if audioId+videoId+activityVideoId == 0 && filter != 2 {
+	//	sql += `  UNION ALL `
+	//}
+	sql += `  UNION ALL `
+	//if audioId+videoId == 0 && filter != 2 {
+	sql += `
 		SELECT
 			video_id AS id,
 			video_name AS title,
@@ -79,16 +79,16 @@ func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string,
 		FROM
 			cygx_activity_video as v
 			INNER JOIN cygx_activity as art on art.activity_id = v.activity_id WHERE 1= 1  `
-		if conditionAct != `` {
-			sql += conditionAct
-		}
-	}
-	if audioId+videoId+activityVideoId == 0 && filter == 0 {
-		sql += `  UNION ALL `
+	if conditionAct != `` {
+		sql += conditionAct
 	}
-
-	if videoId+activityVideoId == 0 && filter != 1 {
-		sql += `
+	//}
+	//if audioId+videoId+activityVideoId == 0 && filter == 0 {
+	//	sql += `  UNION ALL `
+	//}
+	sql += `  UNION ALL `
+	//if videoId+activityVideoId == 0 && filter != 1 {
+	sql += `
 			SELECT
 			a.activity_voice_id AS id,
 			a.voice_name AS title,
@@ -105,10 +105,10 @@ func GetMicroRoadShowVideoPageListV8(startSize, pageSize int, condition string,
 		FROM
 			cygx_activity_voice AS a
 			JOIN cygx_activity AS b ON a.activity_id = b.activity_id  WHERE 1= 1  `
-		if conditionAudio != `` {
-			sql += conditionAudio
-		}
+	if conditionAudio != `` {
+		sql += conditionAudio
 	}
+	//}
 	sql += ` ORDER BY publish_time DESC`
 	totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z `
 	err = o.Raw(totalSql, pars, parsAct, parsAudio).QueryRow(&total)

+ 226 - 190
services/micro_roadshow.go

@@ -176,83 +176,95 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 	var audioCond string
 	var audioPars []interface{}
 	// 如果筛选条件为指定视频ID或只看视频则不做音频查询
-	if videoId > 0 || activityVideoId > 0 || filter == 1 {
-		audioCond = ""
-	} else {
-		// 活动已发布且已结束
-		audioCond += ` AND b.publish_status = 1 AND b.active_state = 3`
-		//活动音频,设置有效时间为30天,失效后该活动就不再支持音频回放。有效期起始时间为活动的开始时间
-		//endTime := time.Now().AddDate(0, 0, -30).Format("2006-01-02 15:04:05")
-		//audioCond += ` AND b.activity_time > ? `
-		//audioPars = append(audioPars, endTime)
-		if keywords != "" {
-			audioCond += ` AND a.voice_name LIKE ? OR b.label LIKE ?`
-			audioPars = append(audioPars, keywords, keywords)
-		}
-		if audioId > 0 {
-			audioCond += ` AND a.activity_voice_id = ?`
-			audioPars = append(audioPars, audioId)
-		}
-		if audioIds != "" {
-			sliceId := strings.Split(audioIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			audioCond += ` AND a.activity_voice_id IN (` + idSqlStr + `)`
+	//if videoId > 0 || activityVideoId > 0 || filter == 1 {
+	//	audioCond = ""
+	//} else {
+	// 活动已发布且已结束
+	audioCond += ` AND b.publish_status = 1 AND b.active_state = 3`
+	//活动音频,设置有效时间为30天,失效后该活动就不再支持音频回放。有效期起始时间为活动的开始时间
+	//endTime := time.Now().AddDate(0, 0, -30).Format("2006-01-02 15:04:05")
+	//audioCond += ` AND b.activity_time > ? `
+	//audioPars = append(audioPars, endTime)
+	if keywords != "" {
+		audioCond += ` AND a.voice_name LIKE ? OR b.label LIKE ?`
+		audioPars = append(audioPars, keywords, keywords)
+	}
+	if audioId > 0 {
+		audioCond += ` AND a.activity_voice_id = ?`
+		audioPars = append(audioPars, audioId)
+	}
+	if audioIds != "" {
+		sliceId := strings.Split(audioIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		audioCond += ` AND a.activity_voice_id IN (` + idSqlStr + `)`
 	}
+	//}
 	//视频的处理
 	var videoCond string
 	var videoCondAct string
 	var videoPars []interface{}
 	var videoParsAct []interface{}
-	if audioId > 0 || filter == 2 {
-		videoCond = ""
-	} else {
-		if keywords != "" {
-			videoCond += ` AND video_name LIKE ?`
-			videoPars = append(videoPars, keywords)
-			videoCondAct += ` AND video_name LIKE ?`
-			videoParsAct = append(videoParsAct, keywords)
-		}
-		if videoId > 0 {
-			videoCond += ` AND video_id = ?`
-			videoPars = append(videoPars, videoId)
-		}
-		if activityVideoId > 0 {
-			videoCondAct += ` AND video_id = ?`
-			videoParsAct = append(videoParsAct, activityVideoId)
-		}
-		if activityVideoIds != "" {
-			sliceId := strings.Split(activityVideoIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			videoCondAct += ` AND v.video_id IN (` + idSqlStr + `)`
+	//if audioId > 0 || filter == 2 {
+	//	videoCond = ""
+	//} else {
+	if keywords != "" {
+		videoCond += ` AND video_name LIKE ?`
+		videoPars = append(videoPars, keywords)
+		videoCondAct += ` AND video_name LIKE ?`
+		videoParsAct = append(videoParsAct, keywords)
+	}
+	if videoId > 0 {
+		videoCond += ` AND video_id = ?`
+		videoPars = append(videoPars, videoId)
+	}
+	if activityVideoId > 0 {
+		videoCondAct += ` AND video_id = ?`
+		videoParsAct = append(videoParsAct, activityVideoId)
+	}
+	if activityVideoIds != "" {
+		sliceId := strings.Split(activityVideoIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		videoCondAct += ` AND v.video_id IN (` + idSqlStr + `)`
+	}
 
-		//如果传了路演的或者活动的视频ID只查询一个
-		if videoId > 0 {
-			videoCondAct += ` AND video_id = 0 `
-		}
-		if activityVideoId > 0 {
-			videoCond += ` AND video_id = 0 `
-		}
-		if videoIds != "" {
-			sliceId := strings.Split(videoIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			videoCond += ` AND video_id IN (` + idSqlStr + `)`
+	//如果传了路演的或者活动的视频ID只查询一个
+	if videoId > 0 {
+		videoCondAct += ` AND video_id = 0 `
+		audioCond += ` AND a.activity_voice_id = 0 `
+	}
+	if activityVideoId > 0 {
+		videoCond += ` AND video_id = 0 `
+		audioCond += ` AND a.activity_voice_id = 0 `
+	}
+	if audioId > 0 {
+		videoCondAct += ` AND video_id = 0 `
+		videoCond += ` AND video_id = 0 `
+	}
+	if filter == 1 {
+		audioCond += ` AND a.activity_voice_id = 0 `
+	} else if filter == 2 {
+		videoCondAct += ` AND video_id = 0 `
+		videoCond += ` AND video_id = 0 `
+	}
+	if videoIds != "" {
+		sliceId := strings.Split(videoIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
-		videoCond += ` AND publish_status = 1`
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		videoCond += ` AND video_id IN (` + idSqlStr + `)`
 	}
+	videoCond += ` AND publish_status = 1`
+	//}
 	total, videoList, e = models.GetMicroRoadShowVideoPageListV8(startSize, pageSize, videoCond, videoPars, videoCondAct, videoParsAct, audioCond, audioPars, audioId, videoId, activityVideoId, filter)
 	if e != nil {
 		err = errors.New("获取微路演音视频列表失败, Err: " + e.Error())
@@ -273,80 +285,92 @@ func CountMicroRoadShowPageListIkWord(audioId, videoId, activityVideoId, filter
 	var audioCond string
 	var audioPars []interface{}
 	// 如果筛选条件为指定视频ID或只看视频则不做音频查询
-	if videoId > 0 || activityVideoId > 0 || filter == 1 {
-		audioCond += ` AND a.activity_voice_id  = 0 `
-	} 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 audioId > 0 {
-			audioCond += ` AND a.activity_voice_id = ?`
-			audioPars = append(audioPars, audioId)
-		}
-		if audioIds != "" {
-			sliceId := strings.Split(audioIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			audioCond += ` AND a.activity_voice_id IN (` + idSqlStr + `)`
+	//if videoId > 0 || activityVideoId > 0 || filter == 1 {
+	//	audioCond += ` AND a.activity_voice_id  = 0 `
+	//} 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 audioId > 0 {
+		audioCond += ` AND a.activity_voice_id = ?`
+		audioPars = append(audioPars, audioId)
+	}
+	if audioIds != "" {
+		sliceId := strings.Split(audioIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		audioCond += ` AND a.activity_voice_id IN (` + idSqlStr + `)`
 	}
+	//}
 	//视频的处理
 	var videoCond string
 	var videoCondAct string
 	var videoPars []interface{}
 	var videoParsAct []interface{}
-	if audioId > 0 || filter == 2 {
-		videoCond = ""
-	} else {
-		if keywords != "" {
-			videoCond += ` AND video_name REGEXP ?`
-			videoPars = append(videoPars, keywords)
-			videoCondAct += ` AND video_name REGEXP ?`
-			videoParsAct = append(videoParsAct, keywords)
-		}
-		if videoId > 0 {
-			videoCond += ` AND video_id = ?`
-			videoPars = append(videoPars, videoId)
-		}
-		if activityVideoId > 0 {
-			videoCondAct += ` AND video_id = ?`
-			videoParsAct = append(videoParsAct, activityVideoId)
-		}
-		if activityVideoIds != "" {
-			sliceId := strings.Split(activityVideoIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			videoCondAct += ` AND v.video_id IN (` + idSqlStr + `)`
+	//if audioId > 0 || filter == 2 {
+	//	videoCond = ""
+	//} else {
+	if keywords != "" {
+		videoCond += ` AND video_name REGEXP ?`
+		videoPars = append(videoPars, keywords)
+		videoCondAct += ` AND video_name REGEXP ?`
+		videoParsAct = append(videoParsAct, keywords)
+	}
+	if videoId > 0 {
+		videoCond += ` AND video_id = ?`
+		videoPars = append(videoPars, videoId)
+	}
+	if activityVideoId > 0 {
+		videoCondAct += ` AND video_id = ?`
+		videoParsAct = append(videoParsAct, activityVideoId)
+	}
+	if activityVideoIds != "" {
+		sliceId := strings.Split(activityVideoIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		videoCondAct += ` AND v.video_id IN (` + idSqlStr + `)`
+	}
 
-		//如果传了路演的或者活动的视频ID只查询一个
-		if videoId > 0 {
-			videoCondAct += ` AND video_id = 0 `
-		}
-		if activityVideoId > 0 {
-			videoCond += ` AND video_id = 0 `
-		}
+	//如果传了路演的或者活动的视频ID只查询一个
+	if videoId > 0 {
+		videoCondAct += ` AND video_id = 0 `
+		audioCond += ` AND a.activity_voice_id = 0 `
+	}
+	if activityVideoId > 0 {
+		videoCond += ` AND video_id = 0 `
+		audioCond += ` AND a.activity_voice_id = 0 `
+	}
+	if audioId > 0 {
+		videoCondAct += ` AND video_id = 0 `
+		videoCond += ` AND video_id = 0 `
+	}
+	if filter == 1 {
+		audioCond += ` AND a.activity_voice_id = 0 `
+	} else if filter == 2 {
+		videoCondAct += ` AND video_id = 0 `
+		videoCond += ` AND video_id = 0 `
+	}
 
-		if videoIds != "" {
-			sliceId := strings.Split(videoIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			videoCond += ` AND video_id IN (` + idSqlStr + `)`
+	if videoIds != "" {
+		sliceId := strings.Split(videoIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
-		videoCond += ` AND publish_status = 1`
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		videoCond += ` AND video_id IN (` + idSqlStr + `)`
 	}
+	videoCond += ` AND publish_status = 1`
+	//}
 	total, e = models.CountMicroRoadShowVideoPageList(videoCond, videoPars, videoCondAct, videoParsAct, audioCond, audioPars)
 	if e != nil {
 		err = errors.New("获取微路演音视频列表失败, Err: " + e.Error())
@@ -368,80 +392,92 @@ func GetMicroRoadShowPageListIkWord(startSize, pageSize, audioId, videoId, activ
 	var audioCond string
 	var audioPars []interface{}
 	// 如果筛选条件为指定视频ID或只看视频则不做音频查询
-	if videoId > 0 || activityVideoId > 0 || filter == 1 {
-		audioCond += ` AND a.activity_voice_id  = 0 `
-	} 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 audioId > 0 {
-			audioCond += ` AND a.activity_voice_id = ?`
-			audioPars = append(audioPars, audioId)
-		}
-		if audioIds != "" {
-			sliceId := strings.Split(audioIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			audioCond += ` AND a.activity_voice_id IN (` + idSqlStr + `)`
+	//if videoId > 0 || activityVideoId > 0 || filter == 1 {
+	//	audioCond += ` AND a.activity_voice_id  = 0 `
+	//} 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 audioId > 0 {
+		audioCond += ` AND a.activity_voice_id = ?`
+		audioPars = append(audioPars, audioId)
+	}
+	if audioIds != "" {
+		sliceId := strings.Split(audioIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		audioCond += ` AND a.activity_voice_id IN (` + idSqlStr + `)`
 	}
+	//}
 	//视频的处理
 	var videoCond string
 	var videoCondAct string
 	var videoPars []interface{}
 	var videoParsAct []interface{}
-	if audioId > 0 || filter == 2 {
-		videoCond = ""
-	} else {
-		if keywords != "" {
-			videoCond += ` AND video_name REGEXP ?`
-			videoPars = append(videoPars, keywords)
-			videoCondAct += ` AND video_name REGEXP ?`
-			videoParsAct = append(videoParsAct, keywords)
-		}
-		if videoId > 0 {
-			videoCond += ` AND video_id = ?`
-			videoPars = append(videoPars, videoId)
-		}
-		if activityVideoId > 0 {
-			videoCondAct += ` AND video_id = ?`
-			videoParsAct = append(videoParsAct, activityVideoId)
-		}
-		if activityVideoIds != "" {
-			sliceId := strings.Split(activityVideoIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			videoCondAct += ` AND v.video_id IN (` + idSqlStr + `)`
+	//if audioId > 0 || filter == 2 {
+	//	videoCond = ""
+	//} else {
+	if keywords != "" {
+		videoCond += ` AND video_name REGEXP ?`
+		videoPars = append(videoPars, keywords)
+		videoCondAct += ` AND video_name REGEXP ?`
+		videoParsAct = append(videoParsAct, keywords)
+	}
+	if videoId > 0 {
+		videoCond += ` AND video_id = ?`
+		videoPars = append(videoPars, videoId)
+	}
+	if activityVideoId > 0 {
+		videoCondAct += ` AND video_id = ?`
+		videoParsAct = append(videoParsAct, activityVideoId)
+	}
+	if activityVideoIds != "" {
+		sliceId := strings.Split(activityVideoIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		videoCondAct += ` AND v.video_id IN (` + idSqlStr + `)`
+	}
 
-		//如果传了路演的或者活动的视频ID只查询一个
-		if videoId > 0 {
-			videoCondAct += ` AND video_id = 0 `
-		}
-		if activityVideoId > 0 {
-			videoCond += ` AND video_id = 0 `
-		}
+	//如果传了路演的或者活动的视频ID只查询一个
+	if videoId > 0 {
+		videoCondAct += ` AND video_id = 0 `
+		audioCond += ` AND a.activity_voice_id = 0 `
+	}
+	if activityVideoId > 0 {
+		videoCond += ` AND video_id = 0 `
+		audioCond += ` AND a.activity_voice_id = 0 `
+	}
+	if audioId > 0 {
+		videoCondAct += ` AND video_id = 0 `
+		videoCond += ` AND video_id = 0 `
+	}
+	if filter == 1 {
+		audioCond += ` AND a.activity_voice_id = 0 `
+	} else if filter == 2 {
+		videoCondAct += ` AND video_id = 0 `
+		videoCond += ` AND video_id = 0 `
+	}
 
-		if videoIds != "" {
-			sliceId := strings.Split(videoIds, ",")
-			var idSqlStr string
-			for _, v := range sliceId {
-				idSqlStr += "'" + v + "',"
-			}
-			idSqlStr = strings.TrimRight(idSqlStr, ",")
-			videoCond += ` AND video_id IN (` + idSqlStr + `)`
+	if videoIds != "" {
+		sliceId := strings.Split(videoIds, ",")
+		var idSqlStr string
+		for _, v := range sliceId {
+			idSqlStr += "'" + v + "',"
 		}
-		videoCond += ` AND publish_status = 1`
+		idSqlStr = strings.TrimRight(idSqlStr, ",")
+		videoCond += ` AND video_id IN (` + idSqlStr + `)`
 	}
+	videoCond += ` AND publish_status = 1`
+	//}
 	videoList, e = models.GetMicroRoadShowVideoPageListIkWord(startSize, pageSize, videoCond, videoPars, videoCondAct, videoParsAct, audioCond, audioPars, audioId, videoId, activityVideoId, filter)
 	if e != nil {
 		err = errors.New("获取微路演音视频列表失败分词, Err: " + e.Error())