|
@@ -11,6 +11,7 @@ import (
|
|
|
"hongze/hongze_yb/models/tables/chart_permission"
|
|
|
"hongze/hongze_yb/models/tables/chart_permission_chapter_mapping"
|
|
|
"hongze/hongze_yb/models/tables/chart_permission_search_key_word_mapping"
|
|
|
+ "hongze/hongze_yb/models/tables/company_product"
|
|
|
"hongze/hongze_yb/models/tables/daily_base_column"
|
|
|
"hongze/hongze_yb/models/tables/rddp/classify"
|
|
|
"hongze/hongze_yb/models/tables/rddp/report"
|
|
@@ -26,6 +27,7 @@ import (
|
|
|
"html"
|
|
|
"sort"
|
|
|
"strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -452,6 +454,23 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
|
|
|
chartPermissionImageMap := make(map[int]string)
|
|
|
var classifyIdSeconds []int
|
|
|
var reportImgUrl string
|
|
|
+ var dayAuth bool
|
|
|
+
|
|
|
+ //如果是晨报列表,判断用户是否有查看晨报的权限
|
|
|
+ if classifyParent.ClassifyName == "晨报" {
|
|
|
+ // 判断用户状态是否是正常和永续
|
|
|
+ companyProduct, tErr := company_product.GetByCompany2ProductId(user.CompanyID, 1)
|
|
|
+ if tErr != nil && tErr != utils.ErrNoRow {
|
|
|
+ errMsg = tErr.Error()
|
|
|
+ err = errors.New("用户状态查询出错")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 已购仅付费用户可见
|
|
|
+ if tErr == nil && strings.Contains("永续,正式,试用", companyProduct.Status) {
|
|
|
+ dayAuth = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
chartPermissionList, err := chart_permission.GetFiccListExceptTacticByProductId()
|
|
|
if err != nil {
|
|
|
errMsg = err.Error()
|
|
@@ -627,6 +646,30 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
|
|
|
|
|
|
var reportList []*response.ReportListItem
|
|
|
if len(list) > 0 {
|
|
|
+ var videoReportIds []int
|
|
|
+ videoMap := make(map[int][]*response.VideoListItem)
|
|
|
+ weekAuthMap := make(map[int]bool)
|
|
|
+ if classifyParent.ClassifyName == "晨报" && dayAuth {
|
|
|
+ for _, reportInfo := range list {
|
|
|
+ videoReportIds = append(videoReportIds, reportInfo.Id)
|
|
|
+ }
|
|
|
+ //获取晨报的音频列表
|
|
|
+ videoMap, _, errMsg, err = GetReportChapterVideoList(validPermissionIdList, classifyParent.ClassifyName, videoReportIds)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else if classifyParent.ClassifyName == "周报" {
|
|
|
+ //查询所有权限typeID
|
|
|
+ //如果存在可以查看的章节ID
|
|
|
+ for _, reportInfo := range list {
|
|
|
+ videoReportIds = append(videoReportIds, reportInfo.Id)
|
|
|
+ }
|
|
|
+ // 判断周报权限\查询周报的音频列表
|
|
|
+ videoMap, weekAuthMap, errMsg, err = GetReportChapterVideoList(validPermissionIdList, classifyParent.ClassifyName, videoReportIds)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
for _, reportInfo := range list {
|
|
|
reportItem := new(response.ReportListItem)
|
|
|
reportItem.ReportId = reportInfo.Id
|
|
@@ -650,9 +693,29 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
|
|
|
} else if url,ok := permissionImageMap[reportInfo.ClassifyNameSecond]; ok {
|
|
|
reportItem.ReportImgUrl = utils.ALIYUN_YBIMG_HOST + url
|
|
|
}
|
|
|
-
|
|
|
- if authOk,ok := checkPermissionMap[reportInfo.ClassifyNameSecond]; ok && authOk {
|
|
|
- reportItem.VideoUrl = reportInfo.VideoUrl
|
|
|
+
|
|
|
+ if classifyParent.ClassifyName == "晨报" && dayAuth {
|
|
|
+ // 查询当前晨报的所有音频
|
|
|
+ if vList, ok := videoMap[reportInfo.Id]; ok {
|
|
|
+ reportItem.VideoList = vList
|
|
|
+ }
|
|
|
+ reportItem.AuthOk = dayAuth
|
|
|
+ }else if classifyParent.ClassifyName == "周报" {
|
|
|
+ if wAuth, ok := weekAuthMap[reportInfo.Id]; ok {
|
|
|
+ reportItem.AuthOk = wAuth
|
|
|
+ if wAuth {
|
|
|
+ // 查询当前晨报的所有音频
|
|
|
+ if vList, ok2 := videoMap[reportInfo.Id]; ok2 {
|
|
|
+ reportItem.VideoList = vList
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if authOk,ok := checkPermissionMap[reportInfo.ClassifyNameSecond]; ok && authOk {
|
|
|
+ videoTemp := new(response.VideoListItem)
|
|
|
+ videoTemp.VideoUrl = reportInfo.VideoUrl
|
|
|
+ videoTemp.VideoName = reportInfo.VideoName
|
|
|
+ videoTemp.VideoPlaySeconds = reportInfo.VideoPlaySeconds
|
|
|
+ reportItem.VideoList = append(reportItem.VideoList, videoTemp)
|
|
|
reportItem.AuthOk = authOk
|
|
|
}
|
|
|
|