|
@@ -0,0 +1,142 @@
|
|
|
+package controllers
|
|
|
+
|
|
|
+import (
|
|
|
+ "hongze/hongze_api/models"
|
|
|
+ "hongze/hongze_api/utils"
|
|
|
+ "rdluck_tools/paging"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+//报告
|
|
|
+type VideoController struct {
|
|
|
+ BaseAuthController
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 获取视频标签列表
|
|
|
+// @Description 获取视频标签列表接口
|
|
|
+// @Success 200 {object} video.VideoTagsListResp
|
|
|
+// @router /tags/list [get]
|
|
|
+func (this *VideoController) TagsList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ user := this.User
|
|
|
+ if user == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,用户信息为空"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ list, err := models.GetVideoTagsList()
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := new(models.VideoTagsListResp)
|
|
|
+ resp.List = list
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
+// @Title 视频列表
|
|
|
+// @Description 视频列表接口
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param KeyWord query string true "搜索关键词"
|
|
|
+// @Param Tags query string true "标签名称"
|
|
|
+// @Param DateType query string true "时间筛选组合:1:近一个月,2:近三个月,3:近半年,4:全部"
|
|
|
+// @Success 200 {object} video.VideoListResp
|
|
|
+// @router /list [get]
|
|
|
+func (this *VideoController) List() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ user := this.User
|
|
|
+ if user == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,用户信息为空"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ pageSize, _ := this.GetInt("PageSize")
|
|
|
+ currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
+ keyWord := this.GetString("KeyWord")
|
|
|
+ tags := this.GetString("Tags")
|
|
|
+ dateType, _ := this.GetInt("DateType")
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = paging.StartIndex(currentIndex, pageSize)
|
|
|
+
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ if tags != "" {
|
|
|
+ videoIdStr, err := models.GetVideoIdByKeyWord(keyWord)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if videoIdStr != "" {
|
|
|
+ condition += ` AND a.video_id IN (` + videoIdStr + `) `
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if keyWord != "" {
|
|
|
+ condition += ` AND (a.title LIKE '%` + keyWord + `%' ) `
|
|
|
+ }
|
|
|
+
|
|
|
+ publishDate := ""
|
|
|
+ if dateType == 1 {
|
|
|
+ publishDate = time.Now().AddDate(0, -1, 0).Format(utils.FormatDate)
|
|
|
+ } else if dateType == 2 {
|
|
|
+ publishDate = time.Now().AddDate(0, -3, 0).Format(utils.FormatDate)
|
|
|
+ } else if dateType == 3 {
|
|
|
+ publishDate = time.Now().AddDate(0, -6, 0).Format(utils.FormatDate)
|
|
|
+ } else if dateType == 4 {
|
|
|
+ publishDate = time.Now().AddDate(-100, 0, 0).Format(utils.FormatDate)
|
|
|
+ }
|
|
|
+
|
|
|
+ if publishDate != "" {
|
|
|
+ condition += ` AND a.publish_time >=? `
|
|
|
+ pars = append(pars, publishDate)
|
|
|
+ }
|
|
|
+
|
|
|
+ total, err := models.GetVideoListCount(condition, pars)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据总数失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ list, err := models.GetVideoList(condition, pars, startSize, pageSize)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
+ resp := new(models.VideoListResp)
|
|
|
+ resp.List = list
|
|
|
+ resp.Paging = page
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|