浏览代码

no message

zhangchuanxing 1 周之前
父节点
当前提交
a3916c69fe

+ 60 - 0
controllers/jinmencaijing.go

@@ -513,3 +513,63 @@ func (c *JinMenCaiJingController) ReportSelectionDetail() {
 	resp.Detail = detailItem
 	c.OkDetailed(resp, "获取成功")
 }
+
+// 活动音视频详情
+// @Title 活动音视频详情接口
+// @Description 活动音视频详情接口
+// @router /activity/vivo_detail [get]
+func (c *JinMenCaiJingController) ActivityVivoDetail() {
+	activityId, _ := c.GetInt("activity_id")
+	activityInfo, err := cygxActivity.GetAddActivityInfoByActivityId(activityId)
+	if err != nil {
+		c.FailWithMessage("会议id异常:" + strconv.Itoa(activityId))
+		return
+	}
+
+	totalVoiceCount, err := cygxActivity.GetCygxActivityVoiceCount(activityId)
+	if err != nil {
+		c.FailWithMessage("获取信息失败!" + err.Error())
+		return
+	}
+
+	totalVideoCount, err := cygxActivity.GetCygxActivityVideoCount(activityId)
+	if err != nil {
+		c.FailWithMessage("获取信息失败!" + err.Error())
+		return
+	}
+	resp := new(jinmencaijing.CygxActivityVivoDetailResp)
+	detail := new(jinmencaijing.CygxActivityVivoResp)
+	if totalVoiceCount > 0 {
+		voiceDetail, err := cygxActivity.GetCygxActivityVoiceReq(activityId)
+		if err != nil {
+			c.FailWithMessage("获取信息失败!" + err.Error())
+			return
+		}
+		detail.FileType = 1
+		detail.FileUrl = voiceDetail.Url
+		detail.FileName = voiceDetail.Name
+		detail.PlaySeconds = voiceDetail.PlaySeconds
+	} else if totalVideoCount > 0 {
+		videoDetail, err := cygxActivity.GetCygxActivityVideoReq(activityId)
+		if err != nil {
+			c.FailWithMessage("获取信息失败!" + err.Error())
+			return
+		}
+		detail.FileType = 2
+		detail.FileUrl = videoDetail.Url
+		detail.FileName = videoDetail.Name
+		detail.PlaySeconds = videoDetail.PlaySeconds
+	} else {
+		c.FailWithMessage("获取信息失败,该活动不存在音视频文件!")
+		return
+	}
+
+	detail.ActivityId = activityInfo.ActivityId
+	detail.Label = activityInfo.Label
+	detail.ActivityTime = activityInfo.ActivityTime
+	detail.ActivityTimeText = activityInfo.ActivityTimeText
+	detail.ChartPermissionName = activityInfo.ChartPermissionName
+	//detail.SubjectName = cygxSeriesActivity.GetActivitySubjectNameList(activityId)
+	resp.Detail = detail
+	c.OkDetailed(resp, "获取成功")
+}

+ 19 - 0
models/response/jinmencaijing/jinmencaijing.go

@@ -74,3 +74,22 @@ type CygxActivitySignupCheckResp struct {
 	IsSignup  int `json:"is_signup" description:"是否报名了,1:是、0:否"`
 	SignupNum int `json:"signup_num" description:"已报名人数"`
 }
+
+// CygxActivity 活动表结构体
+type CygxActivityVivoResp struct {
+	ActivityId          int    `json:"activity_id" description:"活动ID"`
+	Label               string `json:"label" description:"标签"`
+	ActivityTime        string `json:"activity_time" description:"活动时间"`
+	ActivityTimeText    string `json:"activity_time_text" description:"活动时间带文字"`
+	ChartPermissionName string `json:"chart_permission_name" description:"行业名称"`
+	FileUrl             string `json:"file_url" description:"音视频资源url地址"`
+	FileName            string `json:"file_name" description:"音视频名称"`
+	PlaySeconds         int    `json:"play_seconds" description:"音视频时长"`
+	FileType            int    `json:"file_type" description:"类型: 1-音频; 2视频"`
+	//SubjectName         []string `json:"subject_name" description:"标的名称"`
+}
+
+// CygxActivity 活动表结构体
+type CygxActivityVivoDetailResp struct {
+	Detail *CygxActivityVivoResp `json:"detail" description:"备注"`
+}

+ 59 - 0
models/tables/cygx/cygx_activity/cygx_activity.go

@@ -427,3 +427,62 @@ func GetSubjectActivityGroupListByactivityIds(activityIds string) (items []*Subj
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }
+
+// ActivityVoiceReq 音频数据
+type CygxActivityVoiceReq struct {
+	ActivityId  int    ` description:"活动ID"`
+	Url         string `description:"音频资源url地址"`
+	Name        string `description:"音频名称"`
+	PlaySeconds int    `description:"音频时长"`
+	Type        int    `description:"类型: 1-音频; 2-活动视频; 3-产业视频 、 4-系列问答视频"`
+}
+
+// GetCygxActivityVoiceReq 获取活动ID的音频
+func GetCygxActivityVoiceReq(activityId int) (item *CygxActivityVoiceReq, err error) {
+	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  v.is_hide = 0 AND  v.activity_id  = ?   `
+	o := orm.NewOrmUsingDB("hz_cygx")
+	err = o.Raw(sql, activityId).QueryRow(&item)
+	return
+}
+
+// 是否上传了音频文件
+func GetCygxActivityVoiceCount(activityId int) (count int, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_voice WHERE  activity_id=?  `
+	err = o.Raw(sqlCount, activityId).QueryRow(&count)
+	return
+}
+
+// 是否上传了视频文件
+func GetCygxActivityVideoCount(activityId int) (count int, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sqlCount := `SELECT COUNT(1) AS count FROM cygx_activity_video WHERE  activity_id=?  `
+	err = o.Raw(sqlCount, activityId).QueryRow(&count)
+	return
+}
+
+// GetCygxActivityVideoReq 获取活动ID的音频
+func GetCygxActivityVideoReq(activityId int) (item *CygxActivityVoiceReq, err error) {
+	sql := `SELECT
+			v.activity_id,
+			v.video_url AS url,
+			v.video_name AS name,
+			v.video_duration AS play_seconds 
+		FROM
+			cygx_activity_video AS v
+			INNER JOIN cygx_activity AS a ON a.activity_id = v.activity_id 
+		WHERE
+			1 = 1 	AND  v.is_hide = 0 AND  v.activity_id  = ?   `
+	o := orm.NewOrmUsingDB("hz_cygx")
+	err = o.Raw(sql, activityId).QueryRow(&item)
+	return
+}

+ 9 - 0
routers/commentsRouter.go

@@ -124,6 +124,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hongze_open_api/controllers:JinMenCaiJingController"] = append(beego.GlobalControllerRouter["hongze/hongze_open_api/controllers:JinMenCaiJingController"],
+        beego.ControllerComments{
+            Method: "ActivityVivoDetail",
+            Router: `/activity/vivo_detail`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hongze_open_api/controllers:JinMenCaiJingController"] = append(beego.GlobalControllerRouter["hongze/hongze_open_api/controllers:JinMenCaiJingController"],
         beego.ControllerComments{
             Method: "ActivityWhiteCheck",