Browse Source

no message

xingzai 1 year ago
parent
commit
ea1e0b2573

+ 98 - 36
controllers/micro_roadshow.go

@@ -372,6 +372,10 @@ func (this *MicroRoadShowController) CommentAdd() {
 		}
 		item.IndustryId = microVideo.IndustryId
 		//resourceId = microVideo.IndustryId
+	} else if sourceType == 4 {
+		item.AskserieVideoId = req.Id
+
+		go services.AddCygxAskserieVideoCollection(user, item.AskserieVideoId, req.Content)
 	}
 
 	if sourceType == 2 || sourceType == 3 {
@@ -498,6 +502,7 @@ func (this *MicroRoadShowController) Collect() {
 			item.ActivityVideoId = req.Id
 			item.UserId = uid
 			item.CreateTime = time.Now()
+			item.ModifyTime = time.Now()
 			item.Mobile = user.Mobile
 			item.Email = user.Email
 			item.CompanyId = user.CompanyId
@@ -587,6 +592,49 @@ func (this *MicroRoadShowController) Collect() {
 		br.Ret = 200
 		br.Success = true
 		br.Data = resp
+	} else if req.SourceType == 4 {
+		// 系列问答视频收藏
+		count, err := models.GetAskserieVideoCount(uid, req.Id)
+		if err != nil {
+			br.Msg = "获取数据失败!"
+			br.ErrMsg = "获取数据失败,Err:" + err.Error()
+			return
+		}
+		resp := new(models.ArticleCollectResp)
+		if count <= 0 {
+			item := new(models.CygxAskserieVideoCollect)
+			item.AskserieVideoId = req.Id
+			item.UserId = uid
+			item.CreateTime = time.Now()
+			item.Mobile = user.Mobile
+			item.Email = user.Email
+			item.CompanyId = user.CompanyId
+			item.CompanyName = user.CompanyName
+			item.RealName = user.RealName
+			item.RegisterPlatform = utils.REGISTER_PLATFORM
+			err = models.AddCygxAskserieVideoCollect(item)
+			if err != nil {
+				br.Msg = "收藏失败"
+				br.ErrMsg = "收藏失败,Err:" + err.Error()
+				return
+			}
+			br.Msg = "收藏成功"
+			resp.Status = 1
+			// 文章收藏消息发送
+			//go services.ArticleUserRemind(user, detail, 2)
+		} else {
+			err = models.RemoveAskserieVideoCollect(uid, req.Id)
+			if err != nil {
+				br.Msg = "取消收藏失败"
+				br.ErrMsg = "取消收藏失败,Err:" + err.Error()
+				return
+			}
+			br.Msg = "已取消收藏"
+			resp.Status = 2
+		}
+		br.Ret = 200
+		br.Success = true
+		br.Data = resp
 	}
 }
 
@@ -626,9 +674,17 @@ func (this *MicroRoadShowController) Mycollect() {
 		return
 	}
 
+	listAskserieVideoCollect, err := models.GetUserCygxAskserieVideoCollectList(userId)
+	if err != nil {
+		br.Msg = "获取数据失败"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+
 	var audioIds []string
 	var videoIds []string
 	var activityVideoIds []string
+	var askserieVideoIds []string //问答系列视频
 	for _, item := range listMycollect {
 		if item.ActivityVoiceId > 0 {
 			audioIds = append(audioIds, strconv.Itoa(item.ActivityVoiceId))
@@ -638,7 +694,10 @@ func (this *MicroRoadShowController) Mycollect() {
 			activityVideoIds = append(activityVideoIds, strconv.Itoa(item.ActivityVideoId))
 		}
 	}
-	if len(audioIds) == 0 && len(videoIds) == 0 && len(activityVideoIds) == 0 {
+	for _, item := range listAskserieVideoCollect {
+		askserieVideoIds = append(askserieVideoIds, strconv.Itoa(item.AskserieVideoId))
+	}
+	if len(audioIds) == 0 && len(videoIds) == 0 && len(activityVideoIds) == 0 && len(askserieVideoIds) == 0 {
 		resp := new(models.MicroRoadShowListResp)
 		page := paging.GetPaging(currentIndex, pageSize, 0)
 		resp.List = make([]*models.MicroRoadShowPageList, 0)
@@ -653,48 +712,51 @@ func (this *MicroRoadShowController) Mycollect() {
 	audioIdstr := strings.Join(audioIds, ",")
 	ideoIdsStr := strings.Join(videoIds, ",")
 	activityVideoIdsStr := strings.Join(activityVideoIds, ",")
+	askserieVideoIdsStr := strings.Join(askserieVideoIds, ",")
 	// 微路演列表
-	list, total, e := services.GetMicroRoadShowMycollect(pageSize, currentIndex, audioIdstr, ideoIdsStr, activityVideoIdsStr)
+	list, total, e := services.GetMicroRoadShowMycollectV12(pageSize, currentIndex, audioIdstr, activityVideoIdsStr, ideoIdsStr, askserieVideoIdsStr)
 	if e != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取微路演列表失败, Err: " + e.Error()
 		return
 	}
 	for _, item := range list {
-		if item.Type == 1 {
-			//音频
-			count, err := models.GetVoiceCollectCount(user.UserId, item.Id)
-			if err != nil {
-				br.Msg = "获取数据失败!"
-				br.ErrMsg = "获取数据失败,Err:" + err.Error()
-				return
-			}
-			if count > 0 {
-				item.IsCollect = true
-			}
-		} else if item.Type == 2 {
-			//活动视频
-			count, err := models.GetActivityVideoCollectCount(user.UserId, item.Id)
-			if err != nil {
-				br.Msg = "获取数据失败!"
-				br.ErrMsg = "获取数据失败,Err:" + err.Error()
-				return
-			}
-			if count > 0 {
-				item.IsCollect = true
-			}
-		} else if item.Type == 3 {
-			//微路演视频
-			count, err := models.GetVideoCollectCount(user.UserId, item.Id)
-			if err != nil {
-				br.Msg = "获取数据失败!"
-				br.ErrMsg = "获取数据失败,Err:" + err.Error()
-				return
-			}
-			if count > 0 {
-				item.IsCollect = true
-			}
-		}
+		//if item.Type == 1 {
+		//	//音频
+		//	count, err := models.GetVoiceCollectCount(user.UserId, item.Id)
+		//	if err != nil {
+		//		br.Msg = "获取数据失败!"
+		//		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		//		return
+		//	}
+		//	if count > 0 {
+		//		item.IsCollect = true
+		//	}
+		//} else if item.Type == 2 {
+		//	//活动视频
+		//	count, err := models.GetActivityVideoCollectCount(user.UserId, item.Id)
+		//	if err != nil {
+		//		br.Msg = "获取数据失败!"
+		//		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		//		return
+		//	}
+		//	if count > 0 {
+		//		item.IsCollect = true
+		//	}
+		//} else if item.Type == 3 {
+		//	//微路演视频
+		//	count, err := models.GetVideoCollectCount(user.UserId, item.Id)
+		//	if err != nil {
+		//		br.Msg = "获取数据失败!"
+		//		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		//		return
+		//	}
+		//	if count > 0 {
+		//		item.IsCollect = true
+		//	}
+		//}
+
+		item.IsCollect = true
 	}
 	// 用户权限
 	authInfo, permissionArr, e := services.GetUserRaiPermissionInfo(user.UserId, user.CompanyId)

+ 6 - 5
models/article_collect.go

@@ -14,11 +14,12 @@ type CygxArticleCollect struct {
 	VideoId         int
 	UserId          int
 	CreateTime      time.Time
-	Mobile          string `description:"手机号"`
-	Email           string `description:"邮箱"`
-	CompanyId       int    `description:"公司id"`
-	CompanyName     string `description:"公司名称"`
-	RealName        string `description:"用户实际名称"`
+	ModifyTime      time.Time `description:"更新时间"`
+	Mobile          string    `description:"手机号"`
+	Email           string    `description:"邮箱"`
+	CompanyId       int       `description:"公司id"`
+	CompanyName     string    `description:"公司名称"`
+	RealName        string    `description:"用户实际名称"`
 }
 
 // 添加收藏信息

+ 1 - 0
models/article_comment.go

@@ -13,6 +13,7 @@ type CygxArticleComment struct {
 	ActivityId      int       `description:"活动id"`
 	VideoId         int       `description:"视频id"`
 	ActivityVoiceId int       `description:"活动音频ID"`
+	AskserieVideoId int       `description:" 系列问答视频ID askserie_video_id"`
 	IndustryId      int       `description:"产业id"`
 	CreateTime      time.Time `description:"创建时间"`
 	Mobile          string    `description:"手机号"`

+ 49 - 0
models/askserie_video_collect.go

@@ -0,0 +1,49 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxAskserieVideoCollect struct {
+	Id               int       `orm:"column(id);pk"`
+	AskserieVideoId  int       `description:"askserie_video_id"`
+	UserId           int       `description:"用户ID"`
+	CreateTime       time.Time `description:"创建时间"`
+	Mobile           string    `description:"手机号"`
+	Email            string    `description:"邮箱"`
+	CompanyId        int       `description:"公司id"`
+	CompanyName      string    `description:"公司名称"`
+	RealName         string    `description:"用户实际名称"`
+	SellerName       string    `description:"所属销售"`
+	RegisterPlatform int       `description:"来源 1小程序,2:网页"`
+	ModifyTime       time.Time `description:"更新时间"`
+}
+
+// 添加
+func AddCygxAskserieVideoCollect(item *CygxAskserieVideoCollect) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(item)
+	return
+}
+
+func RemoveAskserieVideoCollect(userId, askserieVideoId int) (err error) {
+	o := orm.NewOrm()
+	sql := `DELETE FROM cygx_askserie_video_collect WHERE user_id=? AND askserie_video_id=? `
+	_, err = o.Raw(sql, userId, askserieVideoId).Exec()
+	return
+}
+
+func GetAskserieVideoCount(userId, askserieVideoId int) (count int, err error) {
+	sql := `SELECT COUNT(1) AS count FROM cygx_askserie_video_collect WHERE user_id=? AND askserie_video_id=? `
+	err = orm.NewOrm().Raw(sql, userId, askserieVideoId).QueryRow(&count)
+	return
+}
+
+func GetUserCygxAskserieVideoCollectList(userId int) (items []*CygxAskserieVideoCollect, err error) {
+	sql := `SELECT a.* FROM cygx_askserie_video_collect AS a 
+			WHERE a.user_id=?
+           ORDER BY a.id DESC `
+	_, err = orm.NewOrm().Raw(sql, userId).QueryRows(&items)
+	return
+}

+ 36 - 0
models/askserie_video_collection.go

@@ -0,0 +1,36 @@
+package models
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type CygxAskserieVideoCollection struct {
+	Id               int       `orm:"column(id);pk"`
+	AskserieVideoId  int       `description:"askserie_video_id"`
+	UserId           int       `description:"用户ID"`
+	CreateTime       time.Time `description:"创建时间"`
+	Mobile           string    `description:"手机号"`
+	Email            string    `description:"邮箱"`
+	CompanyId        int       `description:"公司id"`
+	CompanyName      string    `description:"公司名称"`
+	RealName         string    `description:"用户实际名称"`
+	SellerName       string    `description:"所属销售"`
+	RegisterPlatform int       `description:"来源 1小程序,2:网页"`
+	ModifyTime       time.Time `description:"更新时间"`
+	Content          string    `description:"留言内容"`
+}
+
+// 添加
+func AddCygxAskserieVideoCollection(item *CygxAskserieVideoCollection) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Insert(item)
+	return
+}
+
+func UpdateAskserieVideoCommentNum(askserieVideoId int) (err error) {
+	sql := `UPDATE cygx_askserie_video SET comment_num = comment_num+1 WHERE askserie_video_id = ?  `
+	o := orm.NewOrm()
+	_, err = o.Raw(sql, askserieVideoId).Exec()
+	return
+}

+ 3 - 0
models/db.go

@@ -180,6 +180,9 @@ func init() {
 		new(CygxQuestionnaireVote),
 		new(CygxQuestionnaireVoteOtherTheme),
 		new(CygxMorningMeetingReviewChapterHistory),
+		new(CygxAskserieVideoHistoryRecord),
+		new(CygxAskserieVideoCollection),
+		new(CygxAskserieVideoCollect),
 	)
 	// 记录ORM查询日志
 	orm.Debug = true

+ 1 - 0
models/resource_data.go

@@ -39,6 +39,7 @@ type CygxResourceDataResp struct {
 	IndustrialResource *IndustrialManagementHotResp            `description:"产业资源包"`
 	ReportSelection    *CygxReportSelectionRep                 `description:"重点公司(原报告精选)"`
 	YanxuanSpecial     *CygxYanxuanSpecialCenterResp           `description:"研选专栏"`
+	AskserieVideo      *MicroRoadShowPageList                  `description:"活动音频"`
 }
 
 // Source      string    `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial"`

+ 42 - 0
services/askserie_video.go

@@ -49,3 +49,45 @@ func AddAskserieVideoHistoryRecord(user *models.WxUserItem, askserieVideoId, pla
 	}
 	return
 }
+
+// 系列问答视频留言记录
+func AddCygxAskserieVideoCollection(user *models.WxUserItem, askserieVideoId int, content string) {
+	var err error
+	defer func() {
+		if err != nil {
+			go utils.SendAlarmMsg(fmt.Sprint("记录用户活动音频播放记录失败 AddAskserieVideoHistoryRecord Err:", err.Error(), "askserieVideoId:", askserieVideoId, "UserId:", user.UserId), 2)
+		}
+	}()
+	item := new(models.CygxAskserieVideoCollection)
+	item.UserId = user.UserId
+	item.AskserieVideoId = askserieVideoId
+	item.Content = content
+	item.Mobile = user.Mobile
+	item.Email = user.Email
+	item.CompanyId = user.CompanyId
+	item.CompanyName = user.CompanyName
+	item.CreateTime = time.Now()
+	item.ModifyTime = time.Now()
+	item.RegisterPlatform = utils.REGISTER_PLATFORM
+	sellerItem, e := models.GetSellerByCompanyIdCheckFicc(user.CompanyId, 2)
+	if e != nil && e.Error() != utils.ErrNoRow() {
+		err = errors.New("GetSellerByCompanyIdCheckFicc, Err: " + e.Error())
+		return
+	}
+	if sellerItem != nil {
+		item.SellerName = sellerItem.RealName
+	}
+	//添加记录
+	e = models.AddCygxAskserieVideoCollection(item)
+	if e != nil {
+		err = errors.New("AddCygxAskserieVideoCollection, Err: " + e.Error())
+		return
+	}
+	//播放记录加1
+	e = models.UpdateAskserieVideoCommentNum(askserieVideoId)
+	if e != nil {
+		err = errors.New("UpdateAskserieVideoCommentNum, Err: " + e.Error())
+		return
+	}
+	return
+}

+ 67 - 3
services/micro_roadshow.go

@@ -292,7 +292,7 @@ func GetMicroRoadShowPageListV8(pageSize, currentIndex, audioId, videoId, activi
 }
 
 // GetMicroRoadShowPageList 获取微路演列表添加活动视频 更新与8.1版本
-func GetMicroRoadShowPageListV12(pageSize, currentIndex, sourceId, sourceType int, filter, keywords, searchType, chartPermissionIds string) (respList []*models.MicroRoadShowPageList, total int, err error) {
+func GetMicroRoadShowPageListV12(pageSize, currentIndex, sourceId, tableType int, filter, keywords, searchType, chartPermissionIds string) (respList []*models.MicroRoadShowPageList, total int, err error) {
 	//Type                int    `description:"类型: 1-活动音频; 2-活动视频; 3-产业视频; 4-系列问答"`
 	var e error
 	// 根据每页数据量获取音视频配比
@@ -312,13 +312,13 @@ func GetMicroRoadShowPageListV12(pageSize, currentIndex, sourceId, sourceType in
 	var conditionAskserie string // 系列问答 4
 	var askseriePars []interface{}
 
-	if sourceId > 0 && sourceType > 0 {
+	if sourceId > 0 && tableType > 0 {
 		//先给不相干的表查询ID = 0
 		audioAct += ` AND b.chart_permission_id  = 0 `
 		videoAct += ` AND b.chart_permission_id = 0`
 		videoMico += ` AND a.chart_permission_id  = 0 `
 		conditionAskserie += ` AND a.chart_permission_id   = 0 `
-		switch sourceType {
+		switch tableType {
 		case 1:
 			audioAct += ` OR  a.activity_id =  ` + strconv.Itoa(sourceId)
 		case 2:
@@ -693,6 +693,70 @@ func GetMicroRoadShowMycollect(pageSize, currentIndex int, audioIds, videoIds, a
 	return
 }
 
+// 我的收藏
+func GetMicroRoadShowMycollectV12(pageSize, currentIndex int, audioIds, activityVideoIds, roadshowIdsStr, askserieVideoIds string) (respList []*models.MicroRoadShowPageList, total int, err error) {
+	//Type                int    `description:"类型: 1-活动音频; 2-活动视频; 3-产业视频; 4-系列问答"`
+	var e error
+	// 根据每页数据量获取音视频配比
+	startSize := utils.StartIndex(currentIndex, pageSize)
+	videoList := make([]*models.MicroRoadShowPageList, 0)
+
+	var audioAct string // 活动音频 1
+	var audioActPars []interface{}
+
+	var videoAct string // 活动视频 2
+	var videoActPars []interface{}
+
+	//视频的处理
+	var videoMico string //产业视频 3
+	var videoMicoPars []interface{}
+
+	var conditionAskserie string // 系列问答 4
+	var askseriePars []interface{}
+
+	if audioIds != "" {
+		sliceId := strings.Split(audioIds, ",")
+		audioAct += ` AND a.activity_voice_id IN (` + strings.Join(sliceId, ",") + `)`
+	} else {
+		audioAct += ` AND a.activity_voice_id = 0 `
+	}
+
+	if activityVideoIds != "" {
+		sliceId := strings.Split(activityVideoIds, ",")
+		videoAct += ` AND a.video_id IN (` + strings.Join(sliceId, ",") + `)`
+	} else {
+		videoAct += ` AND a.video_id = 0 `
+	}
+
+	if roadshowIdsStr != "" {
+		sliceId := strings.Split(roadshowIdsStr, ",")
+		videoMico += ` AND a.video_id IN (` + strings.Join(sliceId, ",") + `)`
+	} else {
+		videoMico += ` AND a.video_id = 0 `
+	}
+
+	if askserieVideoIds != "" {
+		sliceId := strings.Split(askserieVideoIds, ",")
+		conditionAskserie += ` AND a.askserie_video_id IN (` + strings.Join(sliceId, ",") + `)`
+	} else {
+		conditionAskserie += ` AND a.askserie_video_id = 0 `
+	}
+
+	//发布状态
+	audioAct += ` AND  b.publish_status = 1 `
+	videoAct += ` AND  b.publish_status = 1 `
+	videoMico += ` AND  a.publish_status = 1 `
+	conditionAskserie += ` AND  a.publish_status = 1 `
+
+	total, videoList, e = models.GetMicroRoadShowVideoPageListV12(startSize, pageSize, audioAct, audioActPars, videoAct, videoActPars, videoMico, videoMicoPars, conditionAskserie, askseriePars)
+	if e != nil {
+		err = errors.New("获取微路演音视频列表失败, Err: " + e.Error())
+		return
+	}
+	respList = videoList
+	return
+}
+
 // GetMicroRoadshowVideoMap 获取已经发布的微路演的产业ID
 func GetMicroRoadshowVideoMap() (items map[int]int, err error) {
 	list, e := models.GetMicroRoadshowVideoList()

+ 13 - 6
services/resource_data.go

@@ -40,8 +40,9 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 	var minutessummaryIds []int
 	var meetingreviewchaptIds []int
 	var productinteriorIds []int
-	var reportselectionIds []int // 报告精选
-	var yanxuanSpecialIds []int  // 研选专栏
+	var reportselectionIds []int  // 报告精选
+	var yanxuanSpecialIds []int   // 研选专栏
+	var askserieVideoIds []string //问答系列视频
 	//Source      string    `description:"资源类型 报告 :article 、图表 :newchart、微路演 :roadshow、活动 :activity、活动视频:activityvideo、活动音频:activityvoice、专项调研活动:activityspecial 、 本周研究汇总: researchsummary 、 上周纪要汇总 :minutessummary 、晨会精华 :meetingreviewchapt "`
 	for _, v := range list {
 		if v.Source == "article" {
@@ -70,7 +71,10 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 			reportselectionIds = append(reportselectionIds, v.SourceId)
 		} else if v.Source == utils.CYGX_OBJ_YANXUANSPECIAL {
 			yanxuanSpecialIds = append(yanxuanSpecialIds, v.SourceId)
+		} else if v.Source == utils.CYGX_OBJ_ASKSERIEVIDEO {
+			askserieVideoIds = append(askserieVideoIds, strconv.Itoa(v.SourceId))
 		}
+
 	}
 	//处理文章
 	if len(articleIds) > 0 {
@@ -310,13 +314,14 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 		}
 	}
 
-	if len(roadshowIds)+len(activityvideoIds)+len(activityvoiceIds) > 0 {
+	if len(roadshowIds)+len(activityvideoIds)+len(activityvoiceIds)+len(askserieVideoIds) > 0 {
 
 		audioIdstr := strings.Join(activityvoiceIds, ",")
-		ideoIdsStr := strings.Join(roadshowIds, ",")
 		activityVideoIdsStr := strings.Join(activityvideoIds, ",")
+		roadshowIdsStr := strings.Join(roadshowIds, ",")
+		askserieVideoIdsStr := strings.Join(askserieVideoIds, ",")
 
-		list, _, e := GetMicroRoadShowMycollect(len(roadshowIds)+len(activityvideoIds)+len(activityvoiceIds), 0, audioIdstr, ideoIdsStr, activityVideoIdsStr)
+		list, _, e := GetMicroRoadShowMycollectV12(len(roadshowIds)+len(activityvideoIds)+len(activityvoiceIds)+len(askserieVideoIds), 0, audioIdstr, activityVideoIdsStr, roadshowIdsStr, askserieVideoIdsStr)
 		if e != nil {
 			err = errors.New("GetMicroRoadShowMycollect, Err: " + e.Error())
 			return
@@ -425,6 +430,8 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 				mapItems[fmt.Sprint("activityvideo", item.Id)].Activityvideo = item
 			} else if item.Type == 3 {
 				mapItems[fmt.Sprint("roadshow", item.Id)].Roadshow = item
+			} else if item.Type == 4 {
+				mapItems[fmt.Sprint(utils.CYGX_OBJ_ASKSERIEVIDEO, item.Id)].AskserieVideo = item
 			}
 		}
 	}
@@ -475,7 +482,7 @@ func GetResourceDataList(condition string, pars []interface{}, startSize, pageSi
 	for _, vList := range list {
 		for _, v := range mapItems {
 			//如果这些类型都为空,那么就不合并
-			if v.Article == nil && v.Newchart == nil && v.Roadshow == nil && v.Activity == nil && v.Activityvideo == nil && v.Activityvoice == nil && v.Activityspecial == nil && v.Researchsummary == nil && v.Minutessummary == nil && v.Meetingreviewchapt == nil && v.ProductInterior == nil && v.IndustrialResource == nil && v.ReportSelection == nil && v.YanxuanSpecial == nil {
+			if v.Article == nil && v.Newchart == nil && v.Roadshow == nil && v.Activity == nil && v.Activityvideo == nil && v.Activityvoice == nil && v.Activityspecial == nil && v.Researchsummary == nil && v.Minutessummary == nil && v.Meetingreviewchapt == nil && v.ProductInterior == nil && v.IndustrialResource == nil && v.ReportSelection == nil && v.YanxuanSpecial == nil && v.AskserieVideo == nil {
 				continue
 			}
 			if v.SourceId == vList.SourceId {

+ 1 - 0
utils/constants.go

@@ -242,6 +242,7 @@ const (
 	CYGX_OBJ_RESEARCHSUMMARY    string = "researchsummary"    // 对象类型:本周研究汇总
 	CYGX_OBJ_MINUTESSUMMARY     string = "minutessummary"     // 对象类型:上周纪要汇总
 	CYGX_OBJ_YANXUANSPECIAL     string = "yanxuanspecial"     // 对象类型:研选专栏
+	CYGX_OBJ_ASKSERIEVIDEO      string = "askserievideo"      // 对象类型:问答系列视频
 )
 
 const (