xingzai 1 éve
szülő
commit
fe670ad668
4 módosított fájl, 204 hozzáadás és 10 törlés
  1. 106 7
      controllers/activity.go
  2. 11 0
      models/activity_video.go
  3. 14 3
      models/activity_voice.go
  4. 73 0
      services/activity_video.go

+ 106 - 7
controllers/activity.go

@@ -154,13 +154,6 @@ func (this *ActivityController) ActivityListNew() {
 	isExternalLabel, _ := this.GetInt("IsExternalLabel")   //
 	isResearchPoints, _ := this.GetInt("IsResearchPoints") //
 
-	if isExternalLabel == 1 {
-
-	}
-	if isResearchPoints == 1 {
-
-	}
-
 	var startSize int
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
@@ -170,7 +163,113 @@ func (this *ActivityController) ActivityListNew() {
 	}
 	startSize = utils.StartIndex(currentIndex, pageSize)
 	var condition string
+	var conditioninit string //初始化搜索条件
 	var pars []interface{}
+
+	//主题
+	if label != "" {
+		conditioninit += ` AND art.label  LIKE "%` + label + `%" `
+	}
+	//行业名称
+	if len(chartPermissionIds) > 0 {
+		conditioninit += ` AND art.chart_permission_id  IN (` + chartPermissionIds + `)`
+	}
+	//哪一天
+	if whichDay != "" {
+		var startDate string
+		var endDate string
+		if whichDay == "1" {
+			startDate = time.Now().Format(utils.FormatDate)
+			endDate = startDate
+		} else if whichDay == "2" {
+			startDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
+			endDate = startDate
+		} else if whichDay == "3" {
+			startDate = utils.GetNowWeekMonday().Format(utils.FormatDate)
+			endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
+		} else if whichDay == "4" {
+			startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
+			endDate = utils.GetLastWeekSunday().Format(utils.FormatDate)
+		} else if whichDay == "5" {
+			startDate = utils.GetNowMonthFirstDay().Format(utils.FormatDate)
+			endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
+		} else if whichDay == "6" {
+			startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
+			endDate = utils.GetLastMonthLastDay().Format(utils.FormatDate)
+		} else if whichDay == "1,2" {
+			startDate = time.Now().Format(utils.FormatDate)
+			endDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
+		} else if whichDay == "3,4" {
+			startDate = utils.GetLastWeekMonday().Format(utils.FormatDate)
+			endDate = utils.GetNowWeekSunday().Format(utils.FormatDate)
+		} else if whichDay == "5,6" {
+			startDate = utils.GetLastMonthFirstDay().Format(utils.FormatDate)
+			endDate = utils.GetNowMonthLastDay().Format(utils.FormatDate)
+		} else {
+			startDate = time.Now().Format(utils.FormatDate)
+			endDate = time.Now().AddDate(0, 0, +1).Format(utils.FormatDate)
+		}
+		conditioninit += ` AND art.activity_time >= ` + "'" + startDate + " 00:00:00'"
+		conditioninit += ` AND art.activity_time <= ` + "'" + endDate + " 23:59:59'"
+	}
+
+	//活动状态搜索
+	if activeState != "" {
+		// 默认查看未开始跟进行中
+		if activeState == "1" {
+			conditioninit += ` AND art.active_state  IN (1,2)`
+		} else {
+			conditioninit += ` AND art.active_state  IN (` + activeState + `)`
+		}
+	} else {
+		conditioninit += ` AND art.active_state  IN (1,2)`
+	}
+
+	// 如果是分析师电话会,那么可以连同C类一起查看
+	if activityTypeId != "" {
+		if activityTypeId == strconv.Itoa(utils.ANALYST_TELL_ACTIVITY_TYPE_ID) {
+			conditioninit += `  AND art.activity_type_id IN (` + activityTypeId + "," + strconv.Itoa(utils.C_CLASS_ACTIVITY_TYPE_ID) + `)`
+		} else {
+			conditioninit += `  AND art.activity_type_id IN (` + activityTypeId + `)`
+		}
+	}
+
+	//关键词搜索
+	if keyWord != "" {
+		conditioninit += ` AND (art.label   REGEXP '` + keyWord + `' OR art.activity_name  REGEXP '` + keyWord + `' ) `
+	}
+
+	//回放
+	if playBack == 1 {
+		//获取所有带回放的活动ID
+		playBackActivityIds, err := services.GetActivityPlayBackActivityIds()
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,Err:" + err.Error()
+			return
+		}
+		conditioninit += ` AND art.activity_id IN ( ` + playBackActivityIds + `) `
+	}
+
+	//音频视频  1:视频 2:音频
+	if filter > 0 {
+		videoOrVoiceActivityIds, err := services.GetActivityVideoOrVoiceActivityIds(filter)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,Err:" + err.Error()
+			return
+		}
+		conditioninit += ` AND art.activity_id IN ( ` + videoOrVoiceActivityIds + `) `
+	}
+	//是否为外部资源
+	if isExternalLabel == 1 {
+		conditioninit += ` AND art.is_external_label == 1 `
+	}
+	if isResearchPoints == 1 {
+		conditioninit += ` AND art.is_research_points == 1 `
+	}
+	fmt.Println(conditioninit)
+
 	//var activityList []*models.ActivityDetail
 	//mapDingActivityId := make(map[int]int)
 	condition = ""

+ 11 - 0
models/activity_video.go

@@ -134,3 +134,14 @@ type ActivityVideoDetailResp struct {
 	VideoDetail *CygxActivityVideoDetailResp
 	AuthInfo    *UserPermissionAuthInfo
 }
+
+// 获取所有活动视频ID
+func GetActivityVideoActivityIds() (activityIds string, err error) {
+	sql := `SELECT
+				GROUP_CONCAT( DISTINCT a.activity_id SEPARATOR ',' ) AS activityids 
+			FROM
+				cygx_activity_video AS a `
+	o := orm.NewOrm()
+	err = o.Raw(sql).QueryRow(&activityIds)
+	return
+}

+ 14 - 3
models/activity_voice.go

@@ -77,7 +77,7 @@ func GetCygxActivityVoiceById(videoId int) (item *CygxActivityVoice, err error)
 	return
 }
 
-//列表
+// 列表
 func GetActivityVoiceListAll(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxActivityVideoListResp, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT art.*  FROM cygx_activity as art  INNER JOIN cygx_activity_voice AS v ON v.activity_id = art.activity_id   WHERE 1= 1  `
@@ -89,7 +89,7 @@ func GetActivityVoiceListAll(condition string, pars []interface{}, startSize, pa
 	return
 }
 
-//列表
+// 列表
 func GetActivityVoiceList(condition string, pars []interface{}, startSize, pageSize int) (items []*CygxActivityVoiceResp, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
@@ -110,4 +110,15 @@ func GetCygxActivityVoiceByActivityId(activityId int) (item *CygxActivityVoice,
 	sql := `SELECT * FROM cygx_activity_voice WHERE activity_id = ? LIMIT 1`
 	err = orm.NewOrm().Raw(sql, activityId).QueryRow(&item)
 	return
-}
+}
+
+// 获取所有活动音频ID
+func GetActivityVoiceActivityIds() (activityIds string, err error) {
+	sql := `SELECT
+				GROUP_CONCAT( DISTINCT a.activity_id SEPARATOR ',' ) AS activityids 
+			FROM
+				cygx_activity_voice AS a `
+	o := orm.NewOrm()
+	err = o.Raw(sql).QueryRow(&activityIds)
+	return
+}

+ 73 - 0
services/activity_video.go

@@ -0,0 +1,73 @@
+package services
+
+import (
+	"errors"
+	"hongze/hongze_clpt/models"
+	"hongze/hongze_clpt/utils"
+)
+
+// GetActivityPlayBackActivityIds 获取带有回放的所有的活动ID
+func GetActivityPlayBackActivityIds() (activityIds string, err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg("GetActivityPlayBackActivityIds,获取带有回放的所有的活动ID失败"+err.Error(), 2)
+		}
+	}()
+	//获取所有活动视频ID
+	vidoeActivityIds, e := models.GetActivityVideoActivityIds()
+	if e != nil {
+		err = errors.New("GetActivityVideoActivityIds, Err: " + e.Error())
+		return
+	}
+	//如果没有就赋值为0,避免空查询报错
+	if vidoeActivityIds == "" {
+		vidoeActivityIds = "0"
+	}
+
+	//获取所有活动视频ID
+	voiceActivityIds, e := models.GetActivityVoiceActivityIds()
+	if e != nil {
+		err = errors.New("GetActivityVoiceActivityIds, Err: " + e.Error())
+		return
+	}
+	if voiceActivityIds == "" {
+		voiceActivityIds = "0"
+	}
+	activityIds = vidoeActivityIds + "," + voiceActivityIds
+	return
+}
+
+// GetActivityVideoOrVoiceActivityIds 获取音频或者视频的活动ID
+func GetActivityVideoOrVoiceActivityIds(filter int) (activityIds string, err error) {
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg("GetActivityPlayBackActivityIds,获取带有回放的所有的活动ID失败"+err.Error(), 2)
+		}
+	}()
+
+	if filter == 1 {
+		//获取所有活动视频ID
+		vidoeActivityIds, e := models.GetActivityVideoActivityIds()
+		if e != nil {
+			err = errors.New("GetActivityVideoActivityIds, Err: " + e.Error())
+			return
+		}
+		//如果没有就赋值为0,避免空查询报错
+		if vidoeActivityIds == "" {
+			vidoeActivityIds = "0"
+		}
+		activityIds = vidoeActivityIds
+	} else {
+		//获取所有活动视频ID
+		voiceActivityIds, e := models.GetActivityVoiceActivityIds()
+		if e != nil {
+			err = errors.New("GetActivityVoiceActivityIds, Err: " + e.Error())
+			return
+		}
+		if voiceActivityIds == "" {
+			voiceActivityIds = "0"
+		}
+		activityIds = voiceActivityIds
+	}
+	return
+}