123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- package media
- import (
- "encoding/json"
- logger "eta_mini_ht_api/common/component/log"
- "eta_mini_ht_api/common/exception"
- "eta_mini_ht_api/common/utils/page"
- "eta_mini_ht_api/controllers"
- "eta_mini_ht_api/service/media"
- "eta_mini_ht_api/service/report"
- )
- type MediaController struct {
- controllers.ListController
- }
- const (
- video = "video"
- audio = "audio"
- )
- // Search 搜索报告列表
- // @Description 搜索报告列表
- // @Success 200 {object}
- // @router /search [get]
- func (m *MediaController) Search(mediaType string, key string) {
- controllers.Wrap(&m.BaseController, func() (result *controllers.WrapData, err error) {
- result = m.InitWrapData("分页搜索媒体列表失败")
- if key == "" {
- err = exception.New(exception.SearchKeyEmptyError)
- m.FailedResult("分页搜索报告列表失败", result)
- return
- }
- if mediaType == "" || !checkMediaType(mediaType) {
- err = exception.New(exception.MediaTypeError)
- m.FailedResult("分页查询媒体列表失败", result)
- return
- }
- pageRes := page.Page{
- Current: m.PageInfo.Current,
- PageSize: m.PageInfo.PageSize,
- }
- if m.PageInfo.LatestId == 0 {
- pageRes.Total, pageRes.LatestId = media.SearchMaxMediaId(mediaType, key)
- m.PageInfo.LatestId = pageRes.LatestId
- } else {
- pageRes.LatestId = m.PageInfo.LatestId
- pageRes.Total = m.PageInfo.Total
- }
- pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
- list, err := media.SearchMediaList(mediaType, key, m.PageInfo)
- if err != nil {
- m.FailedResult("分页搜索报告列表失败", result)
- return
- }
- reports := new(page.PageResult)
- reports.Data = list
- reports.Page = pageRes
- m.SuccessResult("分页搜索报告列表成功", reports, result)
- return
- })
- }
- // List 获取媒体列表
- // @Description 获取媒体列表
- // @Success 200 {object}
- // @router /list [get]
- func (m *MediaController) List(mediaType string, permissionIds string) {
- controllers.Wrap(&m.BaseController, func() (result *controllers.WrapData, err error) {
- result = m.InitWrapData("分页查询媒体列表失败")
- if mediaType == "" || !checkMediaType(mediaType) {
- err = exception.New(exception.MediaTypeError)
- m.FailedResult("分页查询媒体列表失败", result)
- return
- }
- permissionIdList, err := m.TransPermissionIds(permissionIds)
- if err != nil {
- logger.Error("品种列表解析错误:%v", err)
- m.FailedResult("分页查询媒体列表失败", result)
- err = exception.New(exception.QueryReportPageFailed)
- return
- }
- pageRes := page.Page{
- Current: m.PageInfo.Current,
- PageSize: m.PageInfo.PageSize,
- }
- var mediaIds []int
- if m.PageInfo.LatestId == 0 {
- pageRes.Total, pageRes.LatestId, mediaIds = media.GetTotalPageCountByPermissionIds(mediaType, permissionIdList)
- m.PageInfo.LatestId = pageRes.LatestId
- m.PageInfo.Total = pageRes.Total
- } else {
- pageRes.LatestId = m.PageInfo.LatestId
- pageRes.Total = m.PageInfo.Total
- }
- pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
- list, err := media.GetMediaPageByIds(mediaType, m.PageInfo, mediaIds)
- if err != nil {
- m.FailedResult("分页查询媒体列表失败", result)
- return
- }
- reports := new(page.PageResult)
- reports.Data = list
- reports.Page = pageRes
- m.SuccessResult("分页查询媒体列表成功", reports, result)
- return
- })
- }
- type RecordCountReq struct {
- ReportId int `json:"reportId"`
- IpAddress string `json:"ipAddress"`
- Location string `json:"location"`
- Referer string `json:"referer"`
- Additional interface{} `json:"additional"`
- }
- // // GetReport 获取研报详情
- // // @Description 获取研报详情
- // // @Success 200 {object}
- // // @router /report [get]
- //
- // func (r *ReportController) GetReport(reportId int) {
- // controllers.Wrap(&r.BaseController, func() (result *controllers.WrapData, err error) {
- // result = r.InitWrapData("获取研报详情失败")
- // fmt.Println(reportId)
- // reportDetail, err := report.GetReportById(reportId)
- // if err != nil {
- // err = exception.New(exception.GetReportFailed)
- // return
- // }
- // r.SuccessResult("获取研报详情成功", reportDetail, result)
- // return
- // })
- // }
- func convertToRecordCount(req *RecordCountReq) report.RecordCount {
- additionStr, _ := json.Marshal(req.Additional)
- return report.RecordCount{
- ReportId: req.ReportId,
- IpAddress: req.IpAddress,
- Location: req.Location,
- Referer: req.Referer,
- Additional: string(additionStr),
- }
- }
- func checkMediaType(mediaType string) bool {
- if mediaType == video || mediaType == audio {
- return true
- }
- return false
- }
|