浏览代码

活动音频,设置有效时间为30天,失效后该活动就不再支持音频回放。有效期起始时间为活动的开始时间

xingzai 2 年之前
父节点
当前提交
9fda3a9ede
共有 3 个文件被更改,包括 34 次插入12 次删除
  1. 14 5
      controllers/activity.go
  2. 13 6
      models/activity_voice.go
  3. 7 1
      services/activity.go

+ 14 - 5
controllers/activity.go

@@ -2785,7 +2785,7 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	activityTypeId := this.GetString("ActivityTypeId")
 	keyWord := this.GetString("KeyWord")
 	playBack, _ := this.GetInt("PlayBack")
-	activityId, _ := this.GetInt("ActivityId")	// 仅用于判断【新】标签
+	activityId, _ := this.GetInt("ActivityId") // 仅用于判断【新】标签
 
 	if label == "undefined" {
 		label = ""
@@ -2850,7 +2850,7 @@ func (this *ActivityCoAntroller) ActivityListNew() {
 	//}
 	condition = ""
 	//活动可见限制
-	conditionActivity, err := services.GetActivityonditionList(user, activityTypeId, chartPermissionIds, whichDay, activeState, label, 0, source, keyWord)
+	conditionActivity, err := services.GetActivityonditionList(user, activityTypeId, chartPermissionIds, whichDay, activeState, label, 0, source, keyWord, playBack)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()
@@ -2859,6 +2859,14 @@ 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)
 	if err != nil {
@@ -3539,7 +3547,7 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 			continue
 		}
 		var condition string
-		conditionActivity, err := services.GetActivityonditionList(user, strconv.Itoa(v.ActivityTypeId), chartPermissionIds, whichDay, activeState, "", isPower, 0, "")
+		conditionActivity, err := services.GetActivityonditionList(user, strconv.Itoa(v.ActivityTypeId), chartPermissionIds, whichDay, activeState, "", isPower, 0, "", 0)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()
@@ -3618,7 +3626,7 @@ func (this *ActivityCoAntroller) LabelTypeListV5() {
 	}
 
 	//获取对应活动的数量并排序
-	activityIds := make([]int, 0)	// 用于查询活动【新】标签Map
+	activityIds := make([]int, 0) // 用于查询活动【新】标签Map
 	intArr := make([]int, 0)
 	var items []*models.ActivityTypeHome
 	for _, v := range list {
@@ -4464,6 +4472,7 @@ func (this *ActivityCoAntroller) LabelTypeListV6Pc() {
 	}
 	pageSize, _ := this.GetInt("PageSize")
 	isPower, _ := this.GetInt("IsPower")
+	playBack, _ := this.GetInt("PlayBack")
 	//currentIndex, _ := this.GetInt("CurrentIndex")
 	chartPermissionIds := this.GetString("ChartPermissionIds")
 	//activityTypeIds := this.GetString("ActivityTypeIds")
@@ -4558,7 +4567,7 @@ func (this *ActivityCoAntroller) LabelTypeListV6Pc() {
 		}
 		var condition string
 
-		conditionActivity, err := services.GetActivityonditionList(user, strconv.Itoa(v.ActivityTypeId), chartPermissionIds, whichDay, activeState, "", isPower, 1, "")
+		conditionActivity, err := services.GetActivityonditionList(user, strconv.Itoa(v.ActivityTypeId), chartPermissionIds, whichDay, activeState, "", isPower, 1, "", playBack)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取活动权限数据失败,Err:" + err.Error()

+ 13 - 6
models/activity_voice.go

@@ -30,12 +30,19 @@ func GetCygxActivityVoiceReqList(activityIds []int) (items []*CygxActivityVoiceR
 	if lenactivityIds == 0 {
 		return
 	}
-	sql := `SELECT 
-			activity_id ,
-			voice_url AS url,
-			voice_name AS name,
-			voice_play_seconds AS play_seconds  FROM cygx_activity_voice  WHERE activity_id IN (` + utils.GetOrmInReplace(lenactivityIds) + `)  `
+	//活动音频,设置有效时间为30天,失效后该活动就不再支持音频回放。有效期起始时间为活动的开始时间
+	endTime := time.Now().AddDate(0, 0, -30).Format("2006-01-02 15:04:05")
+	sql := `SELECT
+			v.activity_id,
+			v.voice_url AS url,
+			v.voice_name AS name,
+			v.voice_play_seconds AS play_seconds 
+		FROM
+			cygx_activity_voice AS v
+			INNER JOIN cygx_activity AS a ON a.activity_id = v.activity_id 
+		WHERE
+			1 = 1 	AND a.activity_time > ? AND  v.activity_id IN (` + utils.GetOrmInReplace(lenactivityIds) + `)  `
 	o := orm.NewOrm()
-	_, err = o.Raw(sql, activityIds).QueryRows(&items)
+	_, err = o.Raw(sql, endTime, activityIds).QueryRows(&items)
 	return
 }

+ 7 - 1
services/activity.go

@@ -499,7 +499,7 @@ 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) (conditionActivity string, err error) {
+func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermissionIds, whichDay, activeState, label string, isPower, source int, keyWord string, playBack int) (conditionActivity string, err error) {
 	adminIds, err := models.GetSelleridWhichGroup(user.CompanyId, 2)
 	if err != nil {
 		return
@@ -612,6 +612,12 @@ func GetActivityonditionList(user *models.WxUserItem, activityTypeId, chartPermi
 		}
 	}
 
+	if playBack == 1 {
+		//活动音频,设置有效时间为30天,失效后该活动就不再支持音频回放。有效期起始时间为活动的开始时间
+		endTime := time.Now().AddDate(0, 0, -30).Format("2006-01-02 15:04:05")
+		condition += ` AND art.activity_time > '` + endTime + `'  `
+	}
+
 	//查询全部可见的数据(是否全部客户可见)
 	//condition += ` AND art.visible_range != 1  AND art.publish_status = 1 `
 	condition += `   AND art.publish_status = 1 `